Heat Transfer Documentation: Release 1.0.3

Download as pdf or txt
Download as pdf or txt
You are on page 1of 285

Heat Transfer Documentation

Release 1.0.3

Caleb Bell

Jan 23, 2023


CONTENTS

1 Introduction 3
1.1 Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 API Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 Installation 237

3 Latest source code 239

4 Bug reports 241

5 License information 243

6 Citation 245

7 Indices and tables 247

Bibliography 249

Python Module Index 275

Index 277

i
ii
Heat Transfer Documentation, Release 1.0.3

CONTENTS 1
Heat Transfer Documentation, Release 1.0.3

2 CONTENTS
CHAPTER

ONE

INTRODUCTION

ht is open-source software for engineers and technicians working in the fields of chemical or mechanical engineering.
It includes modules for various heat transfer functions.
Among the tasks this library can be used for are:
• Sizing a Shell & Tube heat exchanger using any of the Zukauskas, ESDU 73031, or Bell methods
• Calculating pressure drop in a Hairpin heat exchanger
• Calculating heat loss of objects, including insulated objects
• Calculating heat loss from buried pipe
• Performing radiative heat transfer calculations
• Conderser and Reboiler rating
• Detailed heat exchanger evaluation; finding fouling factors
• Heat transfer in packed beds
• Sizing a Plate and Frame heat exchanger
• Modeling an Air Cooler
• Supercritical CO2 or water heat transfer

Contents:

3
Heat Transfer Documentation, Release 1.0.3

1.1 Tutorial

1.1.1 Introduction

ht is the heat transfer component of the Chemical Engineering Design Library (ChEDL). Functions are provided to
calculate heat transfer in a variety of situations, generally using dimensionless factors such as Reynolds and Prandtl
number, and giving results in terms of dimensionless heat transfer coefficient, the Nusselt number. The ‘dimensional’
heat transfer coefficient may then be determined

𝑘 · Nu
ℎ=
𝐿

1.1.2 Design philosophy

Like all libraries, this was developed to scratch my own itches. Since its public release it has been found useful by
many others, from students across the world to practicing engineers at some of the world’s largest companies.
The bulk of this library’s API is considered stable; enhancements to functions and classes will still happen, and default
methods when using a generic correlation interface may change to newer and more accurate correlations as they are
published and reviewed.
To the extent possible, correlations are implemented depending on the highest level parameters. The Nu_conv_internal
correlation does not accept pipe diameter, velocity, viscosity, density, heat capacity, and thermal conductivity - it accepts
Reynolds number and Prandtl number. This makes the API cleaner and encourages modular design.
All functions are desiged to accept inputs in base SI units. However, any set of consistent units given to a function will
return a consistent result; for instance, a function calculating volume doesn’t care if given an input in inches or meters;
the output units will be the cube of those given to it. The user is directed to unit conversion libraries such as pint to
perform unit conversions if they prefer not to work in SI units.
The standard math library is used in all functions except where special functions from numpy or scipy are necessary.
SciPy is used for root finding, interpolation, scientific constants, ode integration, and its many special mathematical
functions not present in the standard math library. The only other required library is the fluids library, a sister library
for fluid dynamics. No other libraries will become required dependencies; anything else is optional.
There are two ways to use numpy arrays with ht. Easiest to use is a vectorized module, which wraps all of the ht
functions with np.vectorize. Instead of importing from ht, the user can import from ht.vectorized:

>>> from ht.vectorized import *


>>> LMTD([100, 101], 60., 30., 40.2)
array([43.20040929, 43.60182765])

It is possible to switch back and forth between the namespaces with a subsequent import:

>>> from ht import *

The second way is Numba. This optional dependency provides the speed you expect from NumPy arrays - or better. In
some cases, much better. The tutorial for using it is at ht.numba, but in general use it the same way but with a different
import.

>>> from ht.numba_vectorized import *

4 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

1.1.3 Insulation

Insulating and refractory materials from the VDI Heat Transfer Handbook and the ASHRAE Handbook: Fundamen-
tals have been digitized and are programatically available in ht. Density, heat capacity, and thermal conductivity are
available although not all materials have all three.
The actual data is stored in a series of dictionaries, building_materials, ASHRAE_board_siding, ASHRAE_flooring,
ASHRAE_insulation, ASHRAE_roofing, ASHRAE_plastering, ASHRAE_masonry, ASHRAE_woods, and refracto-
ries. A total of 390 different materials are available. Functions have been written to make accessing this data much
more convenient.
To determine the correct string to look up a material by, one can use the function nearest_material:

>>> from ht import *


>>> nearest_material('stainless steel')
'Metals, stainless steel'
>>> nearest_material('mineral fibre')
'Mineral fiber'

Knowing a material’s ID, the functions k_material, rho_material, and Cp_material can be used to obtain its properties.

>>> wood = nearest_material('spruce')


>>> k_material(wood)
0.09
>>> rho_material(wood)
400.0
>>> Cp_material(wood)
1630.0

Materials which are refractories, stored in the dictionary refractories, have temperature dependent heat capacity and
thermal conductivity between 400 °C and 1200 °C.

>>> C = nearest_material('graphite')
>>> k_material(C)
67.0
>>> k_material(C, T=800)
62.9851975

The limiting values are returned outside of this range:

>>> Cp_material(C, T=8000), Cp_material(C, T=1)


(1588.0, 1108.0)

1.1.4 Radiation

The Stefan-Boltzman law is implemented as q_rad. Optionally, a surrounding temperature may be specified as well.
If the surrounding temperature is higher than the object, the calculated heat flux in W/m^2 will be negative, indicating
the object is picking up heat not losing it.

>>> q_rad(emissivity=1, T=400)


1451.613952
>>> q_rad(.85, T=400, T2=305.)
816.7821722650002
(continues on next page)

1.1. Tutorial 5
Heat Transfer Documentation, Release 1.0.3

(continued from previous page)


>>> q_rad(.85, T=400, T2=5000) # ouch
-30122590.815640796

A blackbody’s spectral radiance can also be calculated, in units of W/steradian/square metre/metre. This calculation
requires the temperature of the object and the wavelength to be considered.

>>> blackbody_spectral_radiance(T=800., wavelength=4E-6)


1311694129.7430933

1.1.5 Heat exchanger sizing

There are three popular methods of sizing heat exchangers. The log-mean temperature difference correction factor
method, the -NTU method, and the P-NTU method. Each of those are cannot size a heat exchanger on their own - they
do not care about heat transfer coefficients or area - but they must be used first to determine the thermal conditions
of the heat exchanger. Sizing a heat exchanger is a very iterative process, and many designs should be attempted to
determine the optimal one based on required performance and cost. The P-NTU method supports the most types of
heat exchangers; its form always requires the UA term to be guessed however.

1.1.6 LMTD correction factor method

The simplest method, the log-mean temperature difference correction factor method, is as follows:

𝑄 = 𝑈 𝐴∆𝑇𝑙𝑚 𝐹𝑡

Knowing the outlet and inlet temperatures of a heat exchanger and Q, one could determine UA as follows:

>>> dTlm = LMTD(Tci=15, Tco=85, Thi=130, Tho=110)


>>> Ft = F_LMTD_Fakheri(Tci=15, Tco=85, Thi=130, Tho=110, shells=1)
>>> Q = 1E6 # 1 MW
>>> UA = Q/(dTlm*Ft)
>>> UA
15833.566307803789

This method requires you to know all four temperatures before UA can be calculated. Fakheri developed a general
expression for calculating Ft; it is valid for counterflow shell-and-tube exchangers with an even number of tube passes;
the number of shell-side passes can be varied. Ft is always less than 1, approaching 1 with very high numbers of shells:

>>> F_LMTD_Fakheri(Tci=15, Tco=85, Thi=130, Tho=110, shells=10)


0.9994785295070708

No other expressions are available to calculate Ft for different heat exchanger geometries; only the TEMA F and E
exchanger types are really covered by this expression. However, with results from the other methods, Ft can always be
back-calculated.
Log mean temperature are available for both counterflow (by default) and co-current flow. This calculation does not
depend on the units of temperature provided.

>>> LMTD(Thi=100, Tho=60, Tci=30, Tco=40.2)


43.200409294131525
>>> LMTD(100, 60, 30, 40.2, counterflow=False)
39.75251118049003

6 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

1.1.7 Effectiveness-NTU method

This method uses the formula 𝑄 = 𝜖𝐶𝑚𝑖𝑛 (𝑇ℎ,𝑖 − 𝑇𝑐,𝑖 ). The main complication of this method is calculating effective-
ness epsilon, which is a function of the mass flows, heat capacities, and UA 𝜖 = 𝑓 (𝑁 𝑇 𝑈, 𝐶𝑟 ). The effectiveness-NTU
method is implemented in in effectiveness_from_NTU and NTU_from_effectiveness. The supported heat exchanger
types are somewhat limited; they are:
• Counterflow (ex. double-pipe)
• Parallel (ex. double pipe inefficient configuration)
• Shell and tube exchangers with even numbers of tube passes, one or more shells in series (TEMA E (one pass
shell) only)
• Crossflow, single pass, fluids unmixed
• Crossflow, single pass, Cmax mixed, Cmin unmixed
• Crossflow, single pass, Cmin mixed, Cmax unmixed
• Boiler or condenser
To illustrate the method, first the individual methods will be used to determine the outlet temperatures of a heat ex-
changer. After, the more convenient and flexible wrapper effectiveness_NTU_method is shown. Overall case of rating
an existing heat exchanger where a known flowrate of steam and oil are contacted in crossflow, with the steam side
mixed:

>>> U = 275 # W/m^2/K


>>> A = 10.82 # m^2
>>> Cp_oil = 1900 # J/kg/K
>>> Cp_steam = 1860 # J/kg/K
>>> m_steam = 5.2 # kg/s
>>> m_oil = 0.725 # kg/s
>>> Thi = 130 # °C
>>> Tci = 15 # °C
>>> Cmin = calc_Cmin(mh=m_steam, mc=m_oil, Cph=Cp_steam, Cpc=Cp_oil)
>>> Cmax = calc_Cmax(mh=m_steam, mc=m_oil, Cph=Cp_steam, Cpc=Cp_oil)
>>> Cr = calc_Cr(mh=m_steam, mc=m_oil, Cph=Cp_steam, Cpc=Cp_oil)
>>> NTU = NTU_from_UA(UA=U*A, Cmin=Cmin)
>>> eff = effectiveness_from_NTU(NTU=NTU, Cr=Cr, subtype='crossflow, mixed Cmax')
>>> Q = eff*Cmin*(Thi - Tci)
>>> Tco = Tci + Q/(m_oil*Cp_oil)
>>> Tho = Thi - Q/(m_steam*Cp_steam)
>>> Cmin, Cmax, Cr
(1377.5, 9672.0, 0.14242142266335814)
>>> NTU, eff, Q
(2.160072595281307, 0.8312180361425988, 131675.32715043944)
>>> Tco, Tho
(110.59007415639887, 116.38592564614977)

That was not very convenient. The more helpful wrapper effectiveness_NTU_method needs only the heat capacities
and mass flows of each stream, the type of the heat exchanger, and one combination of the following inputs is required:
• Three of the four inlet and outlet stream temperatures
• Temperatures for the cold outlet and hot outlet and UA
• Temperatures for the cold inlet and hot inlet and UA
• Temperatures for the cold inlet and hot outlet and UA

1.1. Tutorial 7
Heat Transfer Documentation, Release 1.0.3

• Temperatures for the cold outlet and hot inlet and UA


The function returns all calculated parameters for convenience as a dictionary.
Solve a heat exchanger to determine UA and effectiveness given the configuration, flows, subtype, the cold inlet/outlet
temperatures, and the hot stream inlet temperature.

>>> from pprint import pprint


>>> pprint(effectiveness_NTU_method(mh=5.2, mc=1.45, Cph=1860., Cpc=1900,
... subtype='crossflow, mixed Cmax', Tci=15, Tco=85, Thi=130))
{'Cmax': 9672.0,
'Cmin': 2755.0,
'Cr': 0.2848428453267163,
'NTU': 1.1040839095588,
'Q': 192850.0,
'Tci': 15,
'Tco': 85,
'Thi': 130,
'Tho': 110.06100082712986,
'UA': 3041.751170834494,
'effectiveness': 0.6086956521739131}

Solve the same heat exchanger with the UA specified, and known inlet temperatures:

>>> pprint(effectiveness_NTU_method(mh=5.2, mc=1.45, Cph=1860., Cpc=1900,


... subtype='crossflow, mixed Cmax', Tci=15, Thi=130, UA=3041.75))
{'Cmax': 9672.0,
'Cmin': 2755.0,
'Cr': 0.2848428453267163,
'NTU': 1.1040834845735028,
'Q': 192849.96310220254,
'Tci': 15,
'Tco': 84.99998660697007,
'Thi': 130,
'Tho': 110.06100464203861,
'UA': 3041.75,
'effectiveness': 0.6086955357127832}

1.2 API Reference

1.2.1 Air cooler sizing and rating (ht.air_cooler)

ht.air_cooler.Ft_aircooler(Thi, Tho, Tci, Tco, Ntp=1, rows=1)


Calculates log-mean temperature difference correction factor for a crossflow heat exchanger, as in an Air Cooler.
Method presented in [1], fit to other’s nonexplicit work. Error is < 0.1%. Requires number of rows and tube
passes as well as stream temperatures.
𝑚 ∑︁
∑︁ 𝑛
𝐹𝑇 = 1 − 𝑎𝑖,𝑘 (1 − 𝑟1,𝑚 )𝑘 sin(2𝑖 arctan 𝑅)
𝑖=1 𝑘=1

𝑇ℎ𝑖 − 𝑇ℎ𝑜
𝑅=
𝑇𝑐𝑜 − 𝑇𝑐𝑖

8 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

∆𝑇𝑙𝑚
𝑟1,𝑚 =
𝑇ℎ𝑖 − 𝑇𝑐𝑖
Parameters
Thi [float] Temperature of hot fluid in [K]
Tho [float] Temperature of hot fluid out [K]
Tci [float] Temperature of cold fluid in [K]
Tco [float] Temperature of cold fluid out [K]
Ntp [int] Number of passes the tubeside fluid will flow through [-]
rows [int] Number of rows of tubes [-]
Returns
Ft [float] Log-mean temperature difference correction factor [-]

Notes

This equation assumes that the hot fluid is tubeside, as in the case of air coolers. The model is not symmetric,
so ensure to switch around the inputs if using this function for other purposes.
This equation appears in [1]. It has been verified. For some cases, approximations are made to match coefficients
with the number of tube passes and rows provided. 16 coefficients are used for each case; 8 cases are considered:
• 1 row 1 pass
• 2 rows 1 pass
• 2 rows 2 passes
• 3 rows 1 pass
• 3 rows 3 passes
• 4 rows 1 pass
• 4 rows 2 passes
• 4 rows 4 passes

References

[1]

Examples

>>> Ft_aircooler(Thi=125., Tho=45., Tci=25., Tco=95., Ntp=1, rows=4)


0.550509360409

ht.air_cooler.air_cooler_noise_GPSA(tip_speed, power)
Calculates the noise generated by an air cooler bay with one fan according to the GPSA handbook [1].

tip speed[𝑚/𝑚𝑖𝑛]
(︂ )︂
PWL[dB(A)] = 56 + 30 log10 + 10 log10 (power[ℎ𝑝])
304.8[𝑚/𝑚𝑖𝑛]

Parameters

1.2. API Reference 9


Heat Transfer Documentation, Release 1.0.3

tip_speed [float] Tip speed of the air cooler fan blades, [m/s]
power [float] Shaft power of single fan motor, [W]
Returns
noise [float] Sound pressure level at 1 m from source, [dB(A)]

Notes

Internal units are in m/minute, and hp.

References

[1]

Examples

Example problem from GPSA [1].

>>> air_cooler_noise_GPSA(tip_speed=3177/minute, power=25.1*hp)


100.5368047795

ht.air_cooler.air_cooler_noise_Mukherjee(tip_speed, power, fan_diameter, induced=False)


Calculates the noise generated by an air cooler bay with one fan according to [1].

SPL[dB(A)] = 46 + 30 log10 (tip speed)[𝑚/𝑠] + 10 log10 (power[ℎ𝑝]) − 20 log10 (𝐷𝑓 𝑎𝑛 )

Parameters
tip_speed [float] Tip speed of the air cooler fan blades, [m/s]
power [float] Shaft power of single fan motor, [W]
fan_diameter [float] Diameter of air cooler fan, [m]
induced [bool] Whether the air cooler is forced air (False) or induced air (True), [-]
Returns
noise [float] Sound pressure level at 1 m from source (p0=2E-5 Pa), [dB(A)]

Notes

Internal units are in m/minute, hp, and m.


If the air cooler is induced, the sound pressure level is reduced by 3 dB.

10 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

References

[1]

Examples

>>> air_cooler_noise_Mukherjee(tip_speed=3177/minute, power=25.1*hp, fan_diameter=4.


˓→267)

99.1102632909

ht.air_cooler.dP_ESDU_high_fin(m, A_min, A_increase, flow_area_contraction_ratio, tube_diameter,


pitch_parallel, pitch_normal, tube_rows, rho, mu)
Calculates the air-side pressure drop for a high-finned tube bank according to the ESDU [1] method, as described
in [2]. This includes the effects of friction of the fin, and acceleration.
1 2
∆𝑃 = (𝐾𝑎𝑐𝑐 + 𝑛𝑟𝑜𝑤𝑠 𝐾𝑓 ) 𝜌𝑣𝑚𝑎𝑥
2
(︂ )︂0.504 (︂ )︂−0.376 (︂ )︂−0.546
−0.242 𝐴 𝑝1 𝑝2
𝐾𝑓 = 4.567𝑅𝑒𝐷
𝐴𝑡𝑢𝑏𝑒,𝑜𝑛𝑙𝑦 𝐷𝑜 𝐷𝑜
𝐾𝑎𝑐𝑐 = 1 + (flow area contraction ratio)2
Parameters
m [float] Mass flow rate of air across the tube bank, [kg/s]
A_min [float] Minimum air flow area, [m^2]
A_increase [float] Ratio of actual surface area to bare tube surface area 𝐴𝑖𝑛𝑐𝑟𝑒𝑎𝑠𝑒 =
𝐴𝑏𝑎𝑟𝑒,𝑡𝑜𝑡𝑎𝑙/𝑡𝑢𝑏𝑒 , [-]
𝐴𝑡𝑢𝑏𝑒

flow_area_contraction_ratio [float] Ratio of A_min to A_face, [-]


tube_diameter [float] Diameter of the bare tube, [m]
pitch_parallel [float] Distance between tube center along a line parallel to the flow; has been
called longitudinal pitch, pp, s2, SL, and p2, [m]
pitch_normal [float] Distance between tube centers in a line 90° to the line of flow; has been
called the transverse pitch, pn, s1, ST, and p1, [m]
tube_rows [int] Number of tube rows per bundle, [-]
rho [float] Average (bulk) density of air across the tube bank, [kg/m^3]
mu [float] Average (bulk) viscosity of air across the tube bank, [Pa*s]
Returns
dP [float] Overall pressure drop across the finned tube bank, [Pa]

1.2. API Reference 11


Heat Transfer Documentation, Release 1.0.3

Notes

The data used by the ESDU covered:


• fin density 4 to 11/inch
• tube outer diameters 3/8 to 2 inches
• fin heights 1/3 to 5/8 inches
• fin tip to fin root diameters 1.2 to 2.4
• Reynolds numbers 5000 to 50000

[1] claims 72% of experimental points were within 10% of the results of the correlation.
The Reynolds number used in this equation is that based on V_max, calculated using the minimum flow area.

References

[1], [2]

Examples

>>> from fluids.geometry import AirCooledExchanger


>>> AC = AirCooledExchanger(tube_rows=4, tube_passes=4, tubes_per_row=8, tube_
˓→length=0.5,

... tube_diameter=0.0164, fin_thickness=0.001, fin_density=1/0.003,


... pitch_normal=0.0313, pitch_parallel=0.0271, fin_height=0.0041, corbels=True)

>>> dP_ESDU_high_fin(m=0.914, A_min=AC.A_min, A_increase=AC.A_increase, flow_area_


˓→contraction_ratio=AC.flow_area_contraction_ratio, tube_diameter=AC.tube_diameter,␣

˓→pitch_parallel=AC.pitch_parallel, pitch_normal=AC.pitch_normal, tube_rows=AC.tube_

˓→rows, rho=1.217, mu=0.000018)


485.630768779

ht.air_cooler.dP_ESDU_low_fin(m, A_min, A_increase, flow_area_contraction_ratio, tube_diameter,


fin_height, bare_length, pitch_parallel, pitch_normal, tube_rows, rho, mu)
Calculates the air-side pressure drop for a low-finned tube bank according to the ESDU [1] method, as described
in [2]. This includes the effects of friction of the fin, and acceleration.
1 2
∆𝑃 = (𝐾𝑎𝑐𝑐 + 𝑛𝑟𝑜𝑤𝑠 𝐾𝑓 ) 𝜌𝑣𝑚𝑎𝑥
2
)︂0.51 (︂ )︂0.536 (︂ )︂0.36
fin height
(︂
−0.286 𝑝1 − 𝐷𝑜 𝐷𝑜
𝐾𝑓 = 4.71𝑅𝑒𝐷
bare length 𝑝2 − 𝐷𝑜 𝑝1 − 𝐷𝑜
𝐾𝑎𝑐𝑐 = 1 + (flow area contraction ratio)2
Parameters
m [float] Mass flow rate of air across the tube bank, [kg/s]
A_min [float] Minimum air flow area, [m^2]
A_increase [float] Ratio of actual surface area to bare tube surface area 𝐴𝑖𝑛𝑐𝑟𝑒𝑎𝑠𝑒 =
𝐴𝑏𝑎𝑟𝑒,𝑡𝑜𝑡𝑎𝑙/𝑡𝑢𝑏𝑒 , [-]
𝐴𝑡𝑢𝑏𝑒

12 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

flow_area_contraction_ratio [float] Ratio of A_min to A_face, [-]


tube_diameter [float] Diameter of the bare tube, [m]
fin_height [float] Height above bare tube of the tube fins, [m]
bare_length [float] Length of bare tube between two fins bare length = fin interval − 𝑡𝑓 𝑖𝑛 , [m]
pitch_parallel [float] Distance between tube center along a line parallel to the flow; has been
called longitudinal pitch, pp, s2, SL, and p2, [m]
pitch_normal [float] Distance between tube centers in a line 90° to the line of flow; has been
called the transverse pitch, pn, s1, ST, and p1, [m]
tube_rows [int] Number of tube rows per bundle, [-]
rho [float] Average (bulk) density of air across the tube bank, [kg/m^3]
mu [float] Average (bulk) viscosity of air across the tube bank, [Pa*s]
Returns
dP [float] Overall pressure drop across the finned tube bank, [Pa]

Notes

Low fins are fins which were formed on the tube outside wall, normally by the cold rolling process. The data
used by the ESDU covered:
• fin density 11 to 32/inch
• tube outer diameters 0.5 to 1.25 inches
• fin heights 0.03 to 0.1 inches
• Reynolds numbers 1000 to 80000
[1] compared this correlation with 81 results and obtained a standard deviation of 7.7%.
The Reynolds number used in this equation is that based on V_max, calculated using the minimum flow area.

References

[1], [2]

Examples

>>> from fluids.geometry import AirCooledExchanger


>>> AC = AirCooledExchanger(tube_rows=4, tube_passes=4, tubes_per_row=8, tube_
˓→length=0.5,

... tube_diameter=0.0164, fin_thickness=0.001, fin_density=1/0.003,


... pitch_normal=0.0313, pitch_parallel=0.0271, fin_height=0.0041, corbels=True)

>>> dP_ESDU_low_fin(m=0.914, A_min=AC.A_min, A_increase=AC.A_increase,


... flow_area_contraction_ratio=AC.flow_area_contraction_ratio,
... tube_diameter=AC.tube_diameter, fin_height=AC.fin_height,
... bare_length=AC.bare_length, pitch_parallel=AC.pitch_parallel,
... pitch_normal=AC.pitch_normal, tube_rows=AC.tube_rows, rho=1.217,
(continues on next page)

1.2. API Reference 13


Heat Transfer Documentation, Release 1.0.3

(continued from previous page)


... mu=0.000018)
464.5433141865

ht.air_cooler.h_Briggs_Young(m, A, A_min, A_increase, A_fin, A_tube_showing, tube_diameter, fin_diameter,


fin_thickness, bare_length, rho, Cp, mu, k, k_fin)
Calculates the air side heat transfer coefficient for an air cooler or other finned tube bundle with the formulas of
Briggs and Young [1], [2] [3].
(︂ )︂0.2 (︂ )︂0.1134
𝑆 𝑆
𝑁 𝑢 = 0.134𝑅𝑒0.681 𝑃 𝑟0.33
ℎ 𝑏

Parameters
m [float] Mass flow rate of air across the tube bank, [kg/s]
A [float] Surface area of combined finned and non-finned area exposed for heat transfer, [m^2]
A_min [float] Minimum air flow area, [m^2]
A_increase [float] Ratio of actual surface area to bare tube surface area 𝐴𝑖𝑛𝑐𝑟𝑒𝑎𝑠𝑒 =
𝐴𝑏𝑎𝑟𝑒,𝑡𝑜𝑡𝑎𝑙/𝑡𝑢𝑏𝑒 , [-]
𝐴𝑡𝑢𝑏𝑒

A_fin [float] Surface area of all fins in the bundle, [m^2]


A_tube_showing [float] Area of the bare tube which is exposed in the bundle, [m^2]
tube_diameter [float] Diameter of the bare tube, [m]
fin_diameter [float] Outer diameter of each tube after including the fin on both sides, [m]
fin_thickness [float] Thickness of the fins, [m]
bare_length [float] Length of bare tube between two fins bare length = fin interval − 𝑡𝑓 𝑖𝑛 , [m]
rho [float] Average (bulk) density of air across the tube bank, [kg/m^3]
Cp [float] Average (bulk) heat capacity of air across the tube bank, [J/kg/K]
mu [float] Average (bulk) viscosity of air across the tube bank, [Pa*s]
k [float] Average (bulk) thermal conductivity of air across the tube bank, [W/m/K]
k_fin [float] Thermal conductivity of the fin, [W/m/K]
Returns
h_bare_tube_basis [float] Air side heat transfer coefficient on a bare-tube surface area as if
there were no fins present basis, [W/K/m^2]

Notes

The limits on this equation are 1000 < Re < 8000 , 11.13 mm < D_o < 40.89 mm, 1.42 mm < fin height < 16.57
mm, 0.33 mm < fin thickness < 2.02 mm, 1.30 mm < fin pitch < 4.06 mm, and 24.49 mm < normal pitch < 111
mm.

14 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3]

Examples

>>> from fluids.geometry import AirCooledExchanger


>>> from scipy.constants import inch
>>> AC = AirCooledExchanger(tube_rows=4, tube_passes=4, tubes_per_row=20, tube_
˓→length=3,

... tube_diameter=1*inch, fin_thickness=0.000406, fin_density=1/0.002309,


... pitch_normal=.06033, pitch_parallel=.05207,
... fin_height=0.0159, tube_thickness=(.0254-.0186)/2,
... bundles_per_bay=1, parallel_bays=1, corbels=True)

>>> h_Briggs_Young(m=21.56, A=AC.A, A_min=AC.A_min, A_increase=AC.A_increase, A_


˓→fin=AC.A_fin,

... A_tube_showing=AC.A_tube_showing, tube_diameter=AC.tube_diameter,


... fin_diameter=AC.fin_diameter, bare_length=AC.bare_length,
... fin_thickness=AC.fin_thickness,
... rho=1.161, Cp=1007., mu=1.85E-5, k=0.0263, k_fin=205)
1422.872240323

ht.air_cooler.h_ESDU_high_fin(m, A, A_min, A_increase, A_fin, A_tube_showing, tube_diameter,


fin_diameter, fin_thickness, bare_length, pitch_parallel, pitch_normal,
tube_rows, rho, Cp, mu, k, k_fin, Pr_wall=None)
Calculates the air side heat transfer coefficient for an air cooler or other finned tube bundle with the formulas of
[2] as presented in [1].
)︂0.297 (︂ )︂−0.091
bare length
(︂
𝑃1
𝑁 𝑢 = 0.242𝑅𝑒0.658 𝑃𝑟1/3 · 𝐹1 · 𝐹2
fin height 𝑃2

𝜂𝐴𝑓 𝑖𝑛 + 𝐴𝑏𝑎𝑟𝑒,𝑠ℎ𝑜𝑤𝑖𝑛𝑔
ℎ𝐴,𝑡𝑜𝑡𝑎𝑙 = ℎ
𝐴𝑡𝑜𝑡𝑎𝑙
ℎ𝑏𝑎𝑟𝑒,𝑡𝑜𝑡𝑎𝑙 = 𝐴𝑖𝑛𝑐𝑟𝑒𝑎𝑠𝑒 ℎ𝐴,𝑡𝑜𝑡𝑎𝑙
Parameters
m [float] Mass flow rate of air across the tube bank, [kg/s]
A [float] Surface area of combined finned and non-finned area exposed for heat transfer, [m^2]
A_min [float] Minimum air flow area, [m^2]
A_increase [float] Ratio of actual surface area to bare tube surface area 𝐴𝑖𝑛𝑐𝑟𝑒𝑎𝑠𝑒 =
𝐴𝑏𝑎𝑟𝑒,𝑡𝑜𝑡𝑎𝑙/𝑡𝑢𝑏𝑒 , [-]
𝐴𝑡𝑢𝑏𝑒

A_fin [float] Surface area of all fins in the bundle, [m^2]


A_tube_showing [float] Area of the bare tube which is exposed in the bundle, [m^2]
tube_diameter [float] Diameter of the bare tube, [m]
fin_diameter [float] Outer diameter of each tube after including the fin on both sides, [m]
fin_thickness [float] Thickness of the fins, [m]
bare_length [float] Length of bare tube between two fins bare length = fin interval − 𝑡𝑓 𝑖𝑛 , [m]

1.2. API Reference 15


Heat Transfer Documentation, Release 1.0.3

pitch_parallel [float] Distance between tube center along a line parallel to the flow; has been
called longitudinal pitch, pp, s2, SL, and p2, [m]
pitch_normal [float] Distance between tube centers in a line 90° to the line of flow; has been
called the transverse pitch, pn, s1, ST, and p1, [m]
tube_rows [int] Number of tube rows per bundle, [-]
rho [float] Average (bulk) density of air across the tube bank, [kg/m^3]
Cp [float] Average (bulk) heat capacity of air across the tube bank, [J/kg/K]
mu [float] Average (bulk) viscosity of air across the tube bank, [Pa*s]
k [float] Average (bulk) thermal conductivity of air across the tube bank, [W/m/K]
k_fin [float] Thermal conductivity of the fin, [W/m/K]
Pr_wall [float, optional] Prandtl number at the wall temperature; provide if a correction with
the defaults parameters is desired; otherwise apply the correction elsewhere, [-]
Returns
h_bare_tube_basis [float] Air side heat transfer coefficient on a bare-tube surface area as if
there were no fins present basis, [W/K/m^2]

Notes

The tube-row count correction factor is 1 for four or more rows, 0.92 for three rows, 0.84 for two rows, and 0.76
for one row according to [1].
The property correction factor can be disabled by not specifying Pr_wall. A Prandtl number exponent of 0.26 is
recommended in [1] for heating and cooling for both liquids and gases.

References

[1], [2], [3]

Examples

>>> from fluids.geometry import AirCooledExchanger


>>> from scipy.constants import inch
>>> AC = AirCooledExchanger(tube_rows=4, tube_passes=4, tubes_per_row=20, tube_
˓→length=3,

... tube_diameter=1*inch, fin_thickness=0.000406, fin_density=1/0.002309,


... pitch_normal=.06033, pitch_parallel=.05207,
... fin_height=0.0159, tube_thickness=(.0254-.0186)/2,
... bundles_per_bay=1, parallel_bays=1, corbels=True)

>>> h_ESDU_high_fin(m=21.56, A=AC.A, A_min=AC.A_min, A_increase=AC.A_increase, A_


˓→fin=AC.A_fin,

... A_tube_showing=AC.A_tube_showing, tube_diameter=AC.tube_diameter,


... fin_diameter=AC.fin_diameter, bare_length=AC.bare_length,
... fin_thickness=AC.fin_thickness, tube_rows=AC.tube_rows,
... pitch_normal=AC.pitch_normal, pitch_parallel=AC.pitch_parallel,
(continues on next page)

16 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

(continued from previous page)


... rho=1.161, Cp=1007., mu=1.85E-5, k=0.0263, k_fin=205)
1390.88891804

ht.air_cooler.h_ESDU_low_fin(m, A, A_min, A_increase, A_fin, A_tube_showing, tube_diameter, fin_diameter,


fin_thickness, bare_length, pitch_parallel, pitch_normal, tube_rows, rho, Cp,
mu, k, k_fin, Pr_wall=None)
Calculates the air side heat transfer coefficient for an air cooler or other finned tube bundle with low fins using
the formulas of [1] as presented in [2] (and also [3]).
)︂0.36 (︂ )︂0.06 (︂ )︂0.11
bare length fin height
(︂
𝑝1
𝑁 𝑢 = 0.183𝑅𝑒0.7 𝑃 𝑟0.36 · 𝐹1 · 𝐹2
fin height 𝐷𝑜 𝐷𝑜
𝜂𝐴𝑓 𝑖𝑛 + 𝐴𝑏𝑎𝑟𝑒,𝑠ℎ𝑜𝑤𝑖𝑛𝑔
ℎ𝐴,𝑡𝑜𝑡𝑎𝑙 = ℎ
𝐴𝑡𝑜𝑡𝑎𝑙
ℎ𝑏𝑎𝑟𝑒,𝑡𝑜𝑡𝑎𝑙 = 𝐴𝑖𝑛𝑐𝑟𝑒𝑎𝑠𝑒 ℎ𝐴,𝑡𝑜𝑡𝑎𝑙
Parameters
m [float] Mass flow rate of air across the tube bank, [kg/s]
A [float] Surface area of combined finned and non-finned area exposed for heat transfer, [m^2]
A_min [float] Minimum air flow area, [m^2]
A_increase [float] Ratio of actual surface area to bare tube surface area 𝐴𝑖𝑛𝑐𝑟𝑒𝑎𝑠𝑒 =
𝐴𝑏𝑎𝑟𝑒,𝑡𝑜𝑡𝑎𝑙/𝑡𝑢𝑏𝑒 , [-]
𝐴𝑡𝑢𝑏𝑒

A_fin [float] Surface area of all fins in the bundle, [m^2]


A_tube_showing [float] Area of the bare tube which is exposed in the bundle, [m^2]
tube_diameter [float] Diameter of the bare tube, [m]
fin_diameter [float] Outer diameter of each tube after including the fin on both sides, [m]
fin_thickness [float] Thickness of the fins, [m]
bare_length [float] Length of bare tube between two fins bare length = fin interval − 𝑡𝑓 𝑖𝑛 , [m]
pitch_parallel [float] Distance between tube center along a line parallel to the flow; has been
called longitudinal pitch, pp, s2, SL, and p2, [m]
pitch_normal [float] Distance between tube centers in a line 90° to the line of flow; has been
called the transverse pitch, pn, s1, ST, and p1, [m]
tube_rows [int] Number of tube rows per bundle, [-]
rho [float] Average (bulk) density of air across the tube bank, [kg/m^3]
Cp [float] Average (bulk) heat capacity of air across the tube bank, [J/kg/K]
mu [float] Average (bulk) viscosity of air across the tube bank, [Pa*s]
k [float] Average (bulk) thermal conductivity of air across the tube bank, [W/m/K]
k_fin [float] Thermal conductivity of the fin, [W/m/K]
Pr_wall [float, optional] Prandtl number at the wall temperature; provide if a correction with
the defaults parameters is desired; otherwise apply the correction elsewhere, [-]
Returns
h_bare_tube_basis [float] Air side heat transfer coefficient on a bare-tube surface area as if
there were no fins present basis, [W/K/m^2]

1.2. API Reference 17


Heat Transfer Documentation, Release 1.0.3

Notes

The tube-row count correction factor F2 can be disabled by setting tube_rows to 10. The property correction
factor F1 can be disabled by not specifying Pr_wall. A Prandtl number exponent of 0.26 is recommended in [1]
for heating and cooling for both liquids and gases.
There is a third correction factor in [1] for tube angles not 30, 45, or 60 degrees, but it is not fully explained and
it is not shown in [2]. Another correction factor is in [2] for flow at an angle; however it would not make sense
to apply it to finned tube banks due to the blockage by the fins.

References

[1], [2], [3]

Examples

>>> from fluids.geometry import AirCooledExchanger


>>> AC = AirCooledExchanger(tube_rows=4, tube_passes=4, tubes_per_row=8, tube_
˓→length=0.5,

... tube_diameter=0.0164, fin_thickness=0.001, fin_density=1/0.003,


... pitch_normal=0.0313, pitch_parallel=0.0271, fin_height=0.0041, corbels=True)

>>> h_ESDU_low_fin(m=0.914, A=AC.A, A_min=AC.A_min, A_increase=AC.A_increase, A_


˓→fin=AC.A_fin,

... A_tube_showing=AC.A_tube_showing, tube_diameter=AC.tube_diameter,


... fin_diameter=AC.fin_diameter, bare_length=AC.bare_length,
... fin_thickness=AC.fin_thickness, tube_rows=AC.tube_rows,
... pitch_normal=AC.pitch_normal, pitch_parallel=AC.pitch_parallel,
... rho=1.217, Cp=1007., mu=1.8E-5, k=0.0253, k_fin=15)
553.85383647

ht.air_cooler.h_Ganguli_VDI(m, A, A_min, A_increase, A_fin, A_tube_showing, tube_diameter, fin_diameter,


fin_thickness, bare_length, pitch_parallel, pitch_normal, tube_rows, rho, Cp,
mu, k, k_fin)
Calculates the air side heat transfer coefficient for an air cooler or other finned tube bundle with the formulas of
[1] as modified in [2].
Inline:
(︂ )︂−0.15
𝐴
𝑁 𝑢𝑑 = 0.22𝑅𝑒0.6
𝑑 𝑃 𝑟1/3
𝐴𝑡𝑢𝑏𝑒,𝑜𝑛𝑙𝑦

Staggered:
(︂ )︂−0.15
𝐴
𝑁 𝑢𝑑 = 0.38𝑅𝑒0.6
𝑑 𝑃 𝑟1/3
𝐴𝑡𝑢𝑏𝑒,𝑜𝑛𝑙𝑦

Parameters
m [float] Mass flow rate of air across the tube bank, [kg/s]
A [float] Surface area of combined finned and non-finned area exposed for heat transfer, [m^2]
A_min [float] Minimum air flow area, [m^2]

18 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

A_increase [float] Ratio of actual surface area to bare tube surface area 𝐴𝑖𝑛𝑐𝑟𝑒𝑎𝑠𝑒 =
𝐴𝑏𝑎𝑟𝑒,𝑡𝑜𝑡𝑎𝑙/𝑡𝑢𝑏𝑒 , [-]
𝐴𝑡𝑢𝑏𝑒

A_fin [float] Surface area of all fins in the bundle, [m^2]


A_tube_showing [float] Area of the bare tube which is exposed in the bundle, [m^2]
tube_diameter [float] Diameter of the bare tube, [m]
fin_diameter [float] Outer diameter of each tube after including the fin on both sides, [m]
fin_thickness [float] Thickness of the fins, [m]
bare_length [float] Length of bare tube between two fins bare length = fin interval − 𝑡𝑓 𝑖𝑛 , [m]
pitch_parallel [float] Distance between tube center along a line parallel to the flow; has been
called longitudinal pitch, pp, s2, SL, and p2, [m]
pitch_normal [float] Distance between tube centers in a line 90° to the line of flow; has been
called the transverse pitch, pn, s1, ST, and p1, [m]
tube_rows [int] Number of tube rows per bundle, [-]
rho [float] Average (bulk) density of air across the tube bank, [kg/m^3]
Cp [float] Average (bulk) heat capacity of air across the tube bank, [J/kg/K]
mu [float] Average (bulk) viscosity of air across the tube bank, [Pa*s]
k [float] Average (bulk) thermal conductivity of air across the tube bank, [W/m/K]
k_fin [float] Thermal conductivity of the fin, [W/m/K]
Returns
h_bare_tube_basis [float] Air side heat transfer coefficient on a bare-tube surface area as if
there were no fins present basis, [W/K/m^2]

Notes

The VDI modifications were developed in comparison with HTFS and HTRI data according to [2].
For cases where the tube row count is less than four, the coefficients are modified in [2]. For the inline case, 0.2
replaces 0.22. For the stagered cases, the coefficient is 0.2, 0.33, 0.36 for 1, 2, or 3 tube rows respectively.
The model is also showin in [4].

References

[1], [2], [3], [4]

1.2. API Reference 19


Heat Transfer Documentation, Release 1.0.3

Examples

Example 12.1 in [3]:

>>> from fluids.geometry import AirCooledExchanger


>>> from scipy.constants import foot, inch
>>> AC = AirCooledExchanger(tube_rows=4, tube_passes=4, tubes_per_row=56, tube_
˓→length=36*foot,

... tube_diameter=1*inch, fin_thickness=0.013*inch, fin_density=10/inch,


... angle=30, pitch_normal=2.5*inch, fin_height=0.625*inch, corbels=True)

>>> h_Ganguli_VDI(m=130.70315, A=AC.A, A_min=AC.A_min, A_increase=AC.A_increase, A_


˓→fin=AC.A_fin,

... A_tube_showing=AC.A_tube_showing, tube_diameter=AC.tube_diameter,


... fin_diameter=AC.fin_diameter, bare_length=AC.bare_length,
... fin_thickness=AC.fin_thickness, tube_rows=AC.tube_rows,
... pitch_parallel=AC.pitch_parallel, pitch_normal=AC.pitch_normal,
... rho=1.2013848, Cp=1009.0188, mu=1.9304793e-05, k=0.027864828, k_fin=238)
969.285081857

1.2.2 Flow boiling (ht.boiling_flow)

ht.boiling_flow.Chen_Bennett(m, x, D, rhol, rhog, mul, mug, kl, Cpl, Hvap, sigma, dPsat, Te)
Calculates heat transfer coefficient for film boiling of saturated fluid in any orientation of flow. Correlation
is developed in [1] and [2], and reviewed in [3]. This model is one of the most often used, and replaces the
Chen_Edelstein correlation. It uses the Dittus-Boelter correlation for turbulent convection and the Forster-Zuber
correlation for pool boiling, and combines them with two factors F and S.

ℎ𝑡𝑝 = 𝑆 · ℎ𝑛𝑏 + 𝐹 · ℎ𝑠𝑝,𝑙

ℎ𝑠𝑝,𝑙 = 0.023𝑅𝑒𝑙0.8 𝑃 𝑟𝑙0.4 𝑘𝑙 /𝐷


𝐷𝐺(1 − 𝑥)
𝑅𝑒𝑙 =
𝜇𝑙
(︃ )︃
𝜆0.79
𝑙 𝑐0.45
𝑝,𝑙 𝜌𝑙
0.49
0.24
ℎ𝑛𝑏 = 0.00122 ∆𝑇𝑠𝑎𝑡 ∆𝑝0.75
𝑠𝑎𝑡
𝜎 0.5 𝜇0.29 𝐻𝑣𝑎𝑝
0.24 𝜌0.24
𝑔
(︂ )︂0.444
𝑃 𝑟1 + 1 −0.5 1.78
𝐹 = · (1 + 𝑋𝑡𝑡 )
2
1 − exp(−𝐹 · ℎ𝑐𝑜𝑛𝑣 · 𝑋0 /𝑘𝑙 )
𝑆=
𝐹 · ℎ𝑐𝑜𝑛𝑣 · 𝑋0 /𝑘𝑙
(︂ )︂0.9 (︂ )︂0.5 (︂ )︂0.1
1−𝑥 𝜌𝑔 𝜇𝑙
𝑋𝑡𝑡 =
𝑥 𝜌𝑙 𝜇𝑔
(︂ )︂0.5
𝜎
𝑋0 = 0.041
𝑔 · (𝜌𝑙 − 𝜌𝑣 )
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific tube interval []

20 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

D [float] Diameter of the tube [m]


rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
mug [float] Viscosity of gas [Pa*s]
kl [float] Thermal conductivity of liquid [W/m/K]
Cpl [float] Heat capacity of liquid [J/kg/K]
Hvap [float] Heat of vaporization of liquid [J/kg]
sigma [float] Surface tension of liquid [N/m]
dPsat [float] Difference in Saturation pressure of fluid at Te and T, [Pa]
Te [float] Excess temperature of wall, [K]
Returns
h [float] Heat transfer coefficient [W/m^2/K]
See also:

Chen_Edelstein
turbulent_Dittus_Boelter
Forster_Zuber

Notes

[1] and [2] have been reviewed, but the model is only put together in the review of [3]. Many other forms of this
equation exist with different functions for F and S.

References

[1], [2], [3]

Examples

>>> Chen_Bennett(m=0.106, x=0.2, D=0.0212, rhol=567, rhog=18.09,


... mul=156E-6, mug=7.11E-6, kl=0.086, Cpl=2730, Hvap=2E5, sigma=0.02,
... dPsat=1E5, Te=3)
4938.275351219369

ht.boiling_flow.Chen_Edelstein(m, x, D, rhol, rhog, mul, mug, kl, Cpl, Hvap, sigma, dPsat, Te)
Calculates heat transfer coefficient for film boiling of saturated fluid in any orientation of flow. Correlation is
developed in [1] and [2], and reviewed in [3]. This model is one of the most often used. It uses the Dittus-Boelter
correlation for turbulent convection and the Forster-Zuber correlation for pool boiling, and combines them with
two factors F and S.

ℎ𝑡𝑝 = 𝑆 · ℎ𝑛𝑏 + 𝐹 · ℎ𝑠𝑝,𝑙

ℎ𝑠𝑝,𝑙 = 0.023𝑅𝑒𝑙0.8 𝑃 𝑟𝑙0.4 𝑘𝑙 /𝐷

1.2. API Reference 21


Heat Transfer Documentation, Release 1.0.3

𝐷𝐺(1 − 𝑥)
𝑅𝑒𝑙 =
𝜇𝑙
(︃ )︃
𝜆0.79
𝑙 𝑐0.45
𝑝,𝑙 𝜌𝑙
0.49
0.24
ℎ𝑛𝑏 = 0.00122 ∆𝑇𝑠𝑎𝑡 ∆𝑝0.75
𝑠𝑎𝑡
𝜎 0.5 𝜇0.29 𝐻𝑣𝑎𝑝
0.24 𝜌0.24
𝑔

−0.5 1.78
𝐹 = (1 + 𝑋𝑡𝑡 )
(︂ )︂0.9 (︂ )︂0.5 (︂ )︂0.1
1−𝑥 𝜌𝑔 𝜇𝑙
𝑋𝑡𝑡 =
𝑥 𝜌𝑙 𝜇𝑔
𝑅𝑒𝐿 · 𝐹 1.25
(︂ (︂ )︂)︂
𝑆 = 0.9622 − 0.5822 tan−1
6.18 · 104
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific tube interval []
D [float] Diameter of the tube [m]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
mug [float] Viscosity of gas [Pa*s]
kl [float] Thermal conductivity of liquid [W/m/K]
Cpl [float] Heat capacity of liquid [J/kg/K]
Hvap [float] Heat of vaporization of liquid [J/kg]
sigma [float] Surface tension of liquid [N/m]
dPsat [float] Difference in Saturation pressure of fluid at Te and T, [Pa]
Te [float] Excess temperature of wall, [K]
Returns
h [float] Heat transfer coefficient [W/m^2/K]
See also:

turbulent_Dittus_Boelter
Forster_Zuber

Notes

[1] and [2] have been reviewed, but the model is only put together in the review of [3]. Many other forms of this
equation exist with different functions for F and S.

22 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3]

Examples

>>> Chen_Edelstein(m=0.106, x=0.2, D=0.0212, rhol=567, rhog=18.09,


... mul=156E-6, mug=7.11E-6, kl=0.086, Cpl=2730, Hvap=2E5, sigma=0.02,
... dPsat=1E5, Te=3)
3289.058731974052

ht.boiling_flow.Lazarek_Black(m, D, mul, kl, Hvap, q=None, Te=None)


Calculates heat transfer coefficient for film boiling of saturated fluid in vertical tubes for either upward or down-
ward flow. Correlation is as shown in [1], and also reviewed in [2] and [3].
Either the heat flux or excess temperature is required for the calculation of heat transfer coefficient.
Quality independent. Requires no properties of the gas. Uses a Reynolds number assuming all the flow is liquid.

𝑘𝑙
ℎ𝑡𝑝 = 30𝑅𝑒0.857
𝑙𝑜 𝐵𝑔 0.714
𝐷
𝐺𝑡𝑝 𝐷
𝑅𝑒𝑙𝑜 =
𝜇𝑙
Parameters
m [float] Mass flow rate [kg/s]
D [float] Diameter of the channel [m]
mul [float] Viscosity of liquid [Pa*s]
kl [float] Thermal conductivity of liquid [W/m/K]
Hvap [float] Heat of vaporization of liquid [J/kg]
q [float, optional] Heat flux to wall [W/m^2]
Te [float, optional] Excess temperature of wall, [K]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

[1] has been reviewed.


[2] claims it was developed for a range of quality 0-0.6, Relo 860-5500, mass flux 125-750 kg/m^2/s, q of 1.4-38
W/cm^2, and with a pipe diameter of 3.1 mm. Developed with data for R113 only.

1.2. API Reference 23


Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3]

Examples

>>> Lazarek_Black(m=10, D=0.3, mul=1E-3, kl=0.6, Hvap=2E6, Te=100)


9501.932636079293

ht.boiling_flow.Li_Wu(m, x, D, rhol, rhog, mul, kl, Hvap, sigma, q=None, Te=None)


Calculates heat transfer coefficient for film boiling of saturated fluid in any orientation of flow. Correlation is as
shown in [1], and also reviewed in [2] and [3].
Either the heat flux or excess temperature is required for the calculation of heat transfer coefficient. Uses liquid
Reynolds number, Bond number, and Boiling number.

𝑘𝑙
ℎ𝑡𝑝 = 334𝐵𝑔 0.3 (𝐵𝑜 · 𝑅𝑒0.36
𝑙 )0.4
𝐷
𝐺(1 − 𝑥)𝐷
𝑅𝑒𝑙 =
𝜇𝑙
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific tube interval []
D [float] Diameter of the tube [m]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
kl [float] Thermal conductivity of liquid [W/m/K]
Hvap [float] Heat of vaporization of liquid [J/kg]
sigma [float] Surface tension of liquid [N/m]
q [float, optional] Heat flux to wall [W/m^2]
Te [float, optional] Excess temperature of wall, [K]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

[1] has been reviewed.


[1] used 18 sets of experimental data to derive the results, covering hydraulic diameters from 0.19 to 3.1 mm and
12 different fluids.

24 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3]

Examples

>>> Li_Wu(m=1, x=0.2, D=0.3, rhol=567., rhog=18.09, kl=0.086, mul=156E-6, sigma=0.


˓→02, Hvap=9E5, q=1E5)

5345.409399239492

ht.boiling_flow.Liu_Winterton(m, x, D, rhol, rhog, mul, kl, Cpl, MW, P, Pc, Te)


Calculates heat transfer coefficient for film boiling of saturated fluid in any orientation of flow. Correlation is as
developed in [1], also reviewed in [2] and [3].
Excess wall temperature is required to use this correlation.
√︀
ℎ𝑡𝑝 = (𝐹 · ℎ𝑙 )2 + (𝑆 · ℎ𝑛𝑏 )2
)︀−1
𝑆 = 1 + 0.055𝐹 0.1 𝑅𝑒0.16
(︀
𝐿

ℎ𝑙 = 0.023𝑅𝑒0.8 0.4
𝐿 𝑃 𝑟𝑙 𝑘𝑙 /𝐷

𝐺𝐷
𝑅𝑒𝐿 =
𝜇𝑙
0.35
𝐹 = [1 + 𝑥𝑃 𝑟𝑙 (𝜌𝑙 /𝜌𝑔 − 1)]
(︃ )︃1/0.33
𝑃 (0.12−0.2 log10 𝑅𝑝 ) 𝑃 −0.55
ℎ𝑛𝑏 = 55∆𝑇 𝑒 0.67
(− log10 ) 𝑀 𝑊 −0.5
𝑃𝑐 𝑃𝑐
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific tube interval []
D [float] Diameter of the tube [m]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
kl [float] Thermal conductivity of liquid [W/m/K]
Cpl [float] Heat capacity of liquid [J/kg/K]
MW [float] Molecular weight of the fluid, [g/mol]
P [float] Pressure of fluid, [Pa]
Pc [float] Critical pressure of fluid, [Pa]
Te [float, optional] Excess temperature of wall, [K]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

1.2. API Reference 25


Heat Transfer Documentation, Release 1.0.3

Notes

[1] has been reviewed, and is accurately reproduced in [3].


Uses the Cooper and turbulent_Dittus_Boelter correlations.
A correction for horizontal flow at low Froude numbers is available in [1] but has not been implemented and is
not recommended in several sources.

References

[1], [2], [3]

Examples

>>> Liu_Winterton(m=1, x=0.4, D=0.3, rhol=567., rhog=18.09, kl=0.086,


... mul=156E-6, Cpl=2300, P=1E6, Pc=22E6, MW=44.02, Te=7)
4747.749477190532

ht.boiling_flow.Sun_Mishima(m, D, rhol, rhog, mul, kl, Hvap, sigma, q=None, Te=None)


Calculates heat transfer coefficient for film boiling of saturated fluid in any orientation of flow. Correlation is as
shown in [1], and also reviewed in [2].
Either the heat flux or excess temperature is required for the calculation of heat transfer coefficient. Uses liquid-
only Reynolds number, Weber number, and Boiling number. Weber number is defined in terms of the velocity if
all fluid were liquid.
1.05
6𝑅𝑒𝑙𝑜 𝐵𝑔 0.54 𝑘𝑙
ℎ𝑡𝑝 = 0.191
𝑊 𝑒𝑙 (𝜌𝑙 /𝜌𝑔 )0.142 𝐷

𝐺𝑡𝑝 𝐷
𝑅𝑒𝑙𝑜 =
𝜇𝑙
Parameters
m [float] Mass flow rate [kg/s]
D [float] Diameter of the tube [m]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
kl [float] Thermal conductivity of liquid [W/m/K]
Hvap [float] Heat of vaporization of liquid [J/kg]
sigma [float] Surface tension of liquid [N/m]
q [float, optional] Heat flux to wall [W/m^2]
Te [float, optional] Excess temperature of wall, [K]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

26 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Notes

[1] has been reviewed.


[1] used 2501 data points to derive the results, covering hydraulic diameters from 0.21 to 6.05 mm and 11 different
fluids.

References

[1], [2]

Examples

>>> Sun_Mishima(m=1, D=0.3, rhol=567., rhog=18.09, kl=0.086, mul=156E-6, sigma=0.02,


˓→ Hvap=9E5, Te=10)

507.6709168372167

ht.boiling_flow.Thome(m, x, D, rhol, rhog, mul, mug, kl, kg, Cpl, Cpg, Hvap, sigma, Psat, Pc, q=None,
Te=None)
Calculates heat transfer coefficient for film boiling of saturated fluid in any orientation of flow. Correlation is as
developed in [1] and [2], and also reviewed [3]. This is a complicated model, but expected to have more accuracy
as a result.
Either the heat flux or excess temperature is required for the calculation of heat transfer coefficient. The solution
for a specified excess temperature is solved numerically, making it slow.
𝑡𝑙 𝑡𝑓 𝑖𝑙𝑚 𝑡𝑑𝑟𝑦
ℎ(𝑧) = ℎ𝑙 (𝑧) + ℎ𝑓 𝑖𝑙𝑚 (𝑧) + ℎ𝑔 (𝑧)
𝜏 𝜏 𝜏

ℎ𝑙/𝑔 (𝑧) = (𝑁 𝑢4𝑙𝑎𝑚 + 𝑁 𝑢4𝑡𝑟𝑎𝑛𝑠 )1/4 𝑘/𝐷


√︀
𝑁 𝑢𝑙𝑎𝑚𝑖𝑛𝑎𝑟 = 0.91𝑃 𝑟1/3 𝑅𝑒𝐷/𝐿(𝑧)
[︃ (︂ )︂2/3 ]︃
(𝑓 /8)(𝑅𝑒 − 1000)𝑃 𝑟 𝐷
𝑁 𝑢𝑡𝑟𝑎𝑛𝑠 = 1+
1 + 12.7(𝑓 /8)1/2 (𝑃 𝑟2/3 − 1) 𝐿(𝑧)

𝑓 = (1.82 log10 𝑅𝑒 − 1.64)−2


𝜏 𝐺𝑡𝑝
𝐿𝑙 = (1 − 𝑥)
𝜌𝑙
𝐿𝑑𝑟𝑦 = 𝑣𝑝 𝑡𝑑𝑟𝑦
𝜏
𝑡𝑙 = 𝜌𝑙 𝑥
1+ 𝜌𝑔 1−𝑥
𝜏
𝑡𝑣 = 𝜌𝑔 1−𝑥
1+ 𝜌𝑙 𝑥

1
𝜏=
𝑓𝑜𝑝𝑡
(︂ )︂𝑛𝑓
𝑞
𝑓𝑜𝑝𝑡 =
𝑞𝑟𝑒𝑓
(︂ )︂−0.5
𝑃𝑠𝑎𝑡
𝑞𝑟𝑒𝑓 = 3328
𝑃𝑐

1.2. API Reference 27


Heat Transfer Documentation, Release 1.0.3

𝜌𝑙 ∆𝐻𝑣𝑎𝑝
𝑡𝑑𝑟𝑦,𝑓 𝑖𝑙𝑚 = [𝛿0 (𝑧) − 𝛿𝑚𝑖𝑛 ]
𝑞
(︂ √︂ )︂0.84
𝛿0 𝜈𝑙 ]︀−1/8
(0.07𝐵𝑜0.41 )−8 + 0.1−8
[︀
= 𝐶𝛿0 3
𝐷 𝑣𝑝 𝐷
𝜌𝑙 𝐷 2
𝐵𝑜 = 𝑣
𝜎 𝑝
[︂ ]︂
𝑥 1−𝑥
𝑣𝑝 = 𝐺𝑡𝑝 +
𝜌𝑔 𝜌𝑙
2𝑘𝑙
ℎ𝑓 𝑖𝑙𝑚 (𝑧) =
𝛿0 (𝑧) + 𝛿𝑚𝑖𝑛 (𝑧)
𝛿𝑚𝑖𝑛 = 0.3 · 10−6 m

𝐶𝛿,0 = 0.29

𝑛𝑓 = 1.74
if t dry film > tv:

𝛿𝑒𝑛𝑑 (𝑥) = 𝛿(𝑧, 𝑡𝑣 )

𝑡𝑓 𝑖𝑙𝑚 = 𝑡𝑣

𝑡𝑑𝑟𝑦 = 0
Otherwise:

𝛿𝑒𝑛𝑑 (𝑧) = 𝛿𝑚𝑖𝑛

𝑡𝑓 𝑖𝑙𝑚 = 𝑡𝑑𝑟𝑦,𝑓 𝑖𝑙𝑚

𝑡𝑑𝑟𝑦 = 𝑡𝑣 − 𝑡𝑓 𝑖𝑙𝑚
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific tube interval []
D [float] Diameter of the tube [m]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
mug [float] Viscosity of gas [Pa*s]
kl [float] Thermal conductivity of liquid [W/m/K]
kg [float] Thermal conductivity of gas [W/m/K]
Cpl [float] Heat capacity of liquid [J/kg/K]
Cpg [float] Heat capacity of gas [J/kg/K]
Hvap [float] Heat of vaporization of liquid [J/kg]
sigma [float] Surface tension of liquid [N/m]
Psat [float] Vapor pressure of fluid, [Pa]

28 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Pc [float] Critical pressure of fluid, [Pa]


q [float, optional] Heat flux to wall [W/m^2]
Te [float, optional] Excess temperature of wall, [K]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

[1] and [2] have been reviewed, and are accurately reproduced in [3].
[1] used data from 7 studies, covering 7 fluids and Dh from 0.7-3.1 mm, heat flux from 0.5-17.8 W/cm^2, x from
0.01-0.99, and G from 50-564 kg/m^2/s.
Liquid and/or gas slugs are both considered, and are hydrodynamically developing. Ll is the calculated length
of liquid slugs, and L_dry is the same for vapor slugs.
Because of the complexity of the model and that there is some logic in this function, Te as an input may lead to
a different solution that the calculated q will in return.

References

[1], [2], [3]

Examples

>>> Thome(m=1, x=0.4, D=0.3, rhol=567., rhog=18.09, kl=0.086, kg=0.2,


... mul=156E-6, mug=1E-5, Cpl=2300, Cpg=1400, sigma=0.02, Hvap=9E5,
... Psat=1E5, Pc=22E6, q=1E5)
1633.008836502032

ht.boiling_flow.Yun_Heo_Kim(m, x, D, rhol, mul, Hvap, sigma, q=None, Te=None)


Calculates heat transfer coefficient for film boiling of saturated fluid in any orientation of flow. Correlation is as
shown in [1] and [2], and also reviewed in [3].
Either the heat flux or excess temperature is required for the calculation of heat transfer coefficient. Uses liquid
Reynolds number, Weber number, and Boiling number. Weber number is defined in terms of the velocity if all
fluid were liquid.

ℎ𝑡𝑝 = 136876(𝐵𝑔 · 𝑊 𝑒𝑙 )0.1993 𝑅𝑒𝑙−0.1626

𝐺𝐷(1 − 𝑥)
𝑅𝑒𝑙 =
𝜇𝑙
𝐺2 𝐷
𝑊 𝑒𝑙 =
𝜌𝑙 𝜎
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific tube interval []
D [float] Diameter of the tube [m]
rhol [float] Density of the liquid [kg/m^3]

1.2. API Reference 29


Heat Transfer Documentation, Release 1.0.3

mul [float] Viscosity of liquid [Pa*s]


Hvap [float] Heat of vaporization of liquid [J/kg]
sigma [float] Surface tension of liquid [N/m]
q [float, optional] Heat flux to wall [W/m^2]
Te [float, optional] Excess temperature of wall, [K]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

[1] has been reviewed.

References

[1], [2], [3]

Examples

>>> Yun_Heo_Kim(m=1, x=0.4, D=0.3, rhol=567., mul=156E-6, sigma=0.02, Hvap=9E5,␣


˓→q=1E4)

9479.313988550184

1.2.3 Nucleic boiling and critical heat flux (ht.boiling_nucleic)

ht.boiling_nucleic.Bier(P, Pc, Te=None, q=None)


Calculates heat transfer coefficient for a evaporator operating in the nucleate boiling regime according to [1] .
Either heat flux or excess temperature is required.
With Te specified:
(︂ [︂ (︂ )︂]︂)︂1/0.3
1
ℎ= 0.00417𝑃𝑐0.69 ∆𝑇 𝑒0.7 0.7 + 2𝑃𝑟 4 +
1 − 𝑃𝑟

With q specified:
[︂ (︂ )︂]︂
1
ℎ = 0.00417𝑃𝑐0.69 ∆𝑞 0.7 0.7 + 2𝑃𝑟 4 +
1 − 𝑃𝑟

Parameters
P [float] Saturation pressure of fluid, [Pa]
Pc [float] Critical pressure of fluid, [Pa]
Te [float, optional] Excess wall temperature, [K]
q [float, optional] Heat flux, [W/m^2]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

30 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Notes

No examples of this are known. Seems to give very different results than other correlations.

References

[1]

Examples

Water boiling at 1 atm, with excess temperature of 4.3 K from [1].

>>> Bier(101325., 22048321.0, Te=4.3)


1290.5349471503353

ht.boiling_nucleic.Cooper(P, Pc, MW, Te=None, q=None, Rp=1e-06)


Calculates heat transfer coefficient for a evaporator operating in the nucleate boiling regime according to [2] as
presented in [1].
Either heat flux or excess temperature is required.
With Te specified:
(︃ )︃1/0.33
𝑃 (0.12−0.2 log10 𝑅𝑝 ) 𝑃 −0.55
ℎ= 55∆𝑇 𝑒 0.67
(− log10 ) 𝑀 𝑊 −0.5
𝑃𝑐 𝑃𝑐

With q specified:

𝑃 (0.12−0.2 log10 𝑅𝑝 ) 𝑃 −0.55


ℎ = 55𝑞 0.67 (− log10 ) 𝑀 𝑊 −0.5
𝑃𝑐 𝑃𝑐
Parameters
P [float] Saturation pressure of fluid, [Pa]
Pc [float] Critical pressure of fluid, [Pa]
MW [float] Molecular weight of fluid, [g/mol]
Te [float, optional] Excess wall temperature, [K]
q [float, optional] Heat flux, [W/m^2]
Rp [float, optional] Roughness parameter of the surface (1 micrometer default) used by Cooper
method, [m]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

1.2. API Reference 31


Heat Transfer Documentation, Release 1.0.3

Notes

Examples 1 and 2 are for water and benzene, from [1]. Roughness parameter is with an old definition. Accord-
ingly, it is not used by the h function. If unchanged, the roughness parameter’s logarithm gives a value of 0.12
as an exponent of reduced pressure.

References

[1], [2], [3]

Examples

Water boiling at 1 atm, with excess temperature of 4.3 K from [1].

>>> Cooper(P=101325., Pc=22048321.0, MW=18.02, Te=4.3)


1558.1435442153575

ht.boiling_nucleic.Forster_Zuber(rhol, rhog, mul, kl, Cpl, Hvap, sigma, dPsat, Te=None, q=None)
Calculates heat transfer coefficient for a evaporator operating in the nucleate boiling regime according to [2] as
presented in [1].
Either heat flux or excess temperature is required.
With Te specified:
(︃ )︃
0.79 0.45 0.49
𝑘𝐿 𝐶𝑝,𝑙 𝜌𝐿
ℎ = 0.00122 0.5 0.29 0.24 𝜌0.24
∆𝑇𝑒0.24 ∆𝑃𝑠𝑎𝑡
0.75
𝜎 𝜇𝐿 𝐻𝑣𝑎𝑝 𝑉

With q specified:
[︃ (︃ )︃ 1
]︃ 1.24
0.79 0.45 0.49
𝑘𝐿 𝐶𝑝,𝑙 𝜌𝐿 0.75 0.24
ℎ = 0.00122 0.5 0.29 0.24 𝜌0.24
∆𝑃𝑠𝑎𝑡 𝑞
𝜎 𝜇𝐿 𝐻𝑣𝑎𝑝 𝑉

Parameters
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the produced gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
kl [float] Thermal conductivity of liquid [W/m/K]
Cpl [float] Heat capacity of liquid [J/kg/K]
Hvap [float] Heat of vaporization of the fluid at P, [J/kg]
sigma [float] Surface tension of liquid [N/m]
dPsat [float] Difference in saturation pressure of the fluid at Te and T, [Pa]
Te [float, optional] Excess wall temperature, [K]
q [float, optional] Heat flux, [W/m^2]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

32 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Notes

Examples have been found in [1] and [3] and match exactly.

References

[1], [2], [3]

Examples

Water boiling, with excess temperature of 4.3K from [1].

>>> Forster_Zuber(Te=4.3, dPsat=3906*4.3, Cpl=4180., kl=0.688,


... mul=0.275E-3, sigma=0.0588, Hvap=2.25E6, rhol=958., rhog=0.597)
3519.9239897462644

ht.boiling_nucleic.Gorenflo(P, Pc, q=None, Te=None, CASRN=None, h0=None, Ra=4e-07)


Calculates heat transfer coefficient for a pool boiling according to [1] and also presented in [2]. Calculation is
based on the corresponding states law, with a single regression constant per fluid. P and Pc are always required.
Either q or Te may be specified. Either CASRN or h0 may be specified as well. If CASRN is specified and the
fluid is not in the list of those studied, an error is raises.
(︂ )︂𝑛
ℎ * 𝑞
= 𝐶𝑊 𝐹 (𝑝 )
ℎ0 𝑞0
(︂ )︂0.133
𝑅𝑎
𝐶𝑊 =
𝑅𝑎𝑜
W
𝑞0 = 20 000
m2
𝑅𝑎𝑜 = 0.4𝜇m
For fluids other than water:

𝑛 = 0.9 − 0.3𝑝*0.3
(︂ )︂
1
𝑓 (𝑝* ) = 1.2𝑝*0.27 + 2.5 + 𝑝*
1 − 𝑝*
For water:

𝑛 = 0.9 − 0.3𝑝*0.15
(︂ )︂
0.68
𝑓 (𝑝* ) = 1.73𝑝*0.27 + 6.1 + 𝑝2
1 − 𝑝*
Parameters
P [float] Saturation pressure of fluid, [Pa]
Pc [float] Critical pressure of fluid, [Pa]
q [float, optional] Heat flux, [W/m^2]
Te [float, optional] Excess wall temperature, [K]
CASRN [str, optional] CASRN of fluid

1.2. API Reference 33


Heat Transfer Documentation, Release 1.0.3

h0 [float] Reference heat transfer coefficient for Gorenflo method, [W/m^2/K]


Ra [float, optional] Roughness parameter of the surface (0.4 micrometer default) for Gorenflo
method, [m]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

A more recent set of reference heat fluxes is available. Where a range of values was listed for reference heat
fluxes in [1], values from the second edition of [1] were used instead. 44 values are available, all listed in the
dictionary h0_Gorenflow_1993. Values range from 2000 to 24000 W/m^2/K.

References

[1], [2]

Examples

Water boiling at 3 bar and a heat flux of 2E4 W/m^2/K.

>>> Gorenflo(3E5, 22048320., q=2E4, CASRN='7732-18-5')


3043.344595525422

ht.boiling_nucleic.HEDH_Montinsky(P, Pc)
Calculates critical heat flux in the nucleate boiling regime according to [3] as presented in [1], using an expression
modified from [2].

𝑞𝑐 = 367𝑃𝑐 𝑃𝑟0.35 (1 − 𝑃𝑟 )0.9

Parameters
P [float] Saturation pressure of fluid, [Pa]
Pc [float] Critical pressure of fluid, [Pa]
Returns
q [float] Critical heat flux [W/m^2]

Notes

No further work is required. Units of Pc are kPa internally.

34 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3]

Examples

Example is from [3] and matches to within the error of the algebraic manipulation rounding.

>>> HEDH_Montinsky(P=310.3E3, Pc=2550E3)


398405.66545181436

ht.boiling_nucleic.HEDH_Taborek(P, Pc, Te=None, q=None)


Calculates heat transfer coefficient for a evaporator operating in the nucleate boiling regime according to Taborek
(1986) as described in [1] and as presented in [2]. Modification of [3].
Either heat flux or excess temperature is required.
With Te specified:
)︀ ]︀)︀1/0.3
ℎ = 0.00417𝑃𝑐0.69 ∆𝑇 𝑒0.7 2.1𝑃𝑟0.27 + 9 + (1 − 𝑃 𝑟2 )−1 𝑃𝑟2
(︀ [︀ (︀

With q specified:

ℎ = 0.00417𝑃𝑐0.69 𝑞 0.7 2.1𝑃𝑟0.27 + 9 + (1 − 𝑃 𝑟2 )−1 𝑃𝑟2


[︀ (︀ )︀ ]︀

Parameters
P [float] Saturation pressure of fluid, [Pa]
Pc [float] Critical pressure of fluid, [Pa]
Te [float, optional] Excess wall temperature, [K]
q [float, optional] Heat flux, [W/m^2]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

Example is from [3] and matches to within the error of the algebraic manipulation rounding.

References

[1], [2], [3]

Examples

>>> HEDH_Taborek(Te=16.2, P=310.3E3, Pc=2550E3)


1397.272486525486

1.2. API Reference 35


Heat Transfer Documentation, Release 1.0.3

ht.boiling_nucleic.McNelly(rhol, rhog, kl, Cpl, Hvap, sigma, P, Te=None, q=None)


Calculates heat transfer coefficient for a evaporator operating in the nucleate boiling regime according to [2] as
presented in [1].
Either heat flux or excess temperature is required.
With Te specified:
(︃ (︂ )︂0.69 (︂ )︂0.31 (︂ )︂0.33 )︃1/0.31
∆𝑇𝑒 𝐶𝑝,𝑙 𝑃 𝑘𝐿 𝜌𝐿
ℎ= 0.225 −1
𝐻𝑣𝑎𝑝 𝜎 𝜌𝑉

With q specified:
(︂ )︂0.69 (︂ )︂0.31 (︂ )︂0.33
𝑞𝐶𝑝,𝑙 𝑃 𝑘𝐿 𝜌𝐿
ℎ = 0.225 −1
𝐻𝑣𝑎𝑝 𝜎 𝜌𝑉

Parameters
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the produced gas [kg/m^3]
kl [float] Thermal conductivity of liquid [W/m/K]
Cpl [float] Heat capacity of liquid [J/kg/K]
Hvap [float] Heat of vaporization of the fluid at P, [J/kg]
sigma [float] Surface tension of liquid [N/m]
P [float] Saturation pressure of fluid, [Pa]
Te [float, optional] Excess wall temperature, [K]
q [float, optional] Heat flux, [W/m^2]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

Further examples for this function are desired.

References

[1], [2]

Examples

Water boiling, with excess temperature of 4.3 K.

>>> McNelly(Te=4.3, P=101325, Cpl=4180., kl=0.688, sigma=0.0588,


... Hvap=2.25E6, rhol=958., rhog=0.597)
533.8056972951352

36 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

ht.boiling_nucleic.Montinsky(P, Pc, Te=None, q=None)


Calculates heat transfer coefficient for a evaporator operating in the nucleate boiling regime according to [2] as
presented in [1].
Either heat flux or excess temperature is required.
With Te specified:
]︀)︀1/0.3
ℎ = 0.00417𝑃𝑐0.69 ∆𝑇 𝑒0.7 1.8(𝑃/𝑃𝑐 )0.17 + 4(𝑃/𝑃𝑐 )1.2 + 10(𝑃/𝑃𝑐 )10
(︀ [︀

With q specified:

ℎ = 0.00417𝑃𝑐0.69 𝑞 0.7 1.8(𝑃/𝑃𝑐 )0.17 + 4(𝑃/𝑃𝑐 )1.2 + 10(𝑃/𝑃𝑐 )10


[︀ ]︀

Parameters
P [float] Saturation pressure of fluid, [Pa]
Pc [float] Critical pressure of fluid, [Pa]
Te [float, optional] Excess wall temperature, [K]
q [float, optional] Heat flux, [W/m^2]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

Formulas has been found consistent in all cited sources. Examples have been found in [1] and [3].
The equation for this function is sometimes given with a constant of 3.7E-5 instead of 0.00417 if critical pressure
is not internally converted to kPa. [3] lists a constant of 3.596E-5.

References

[1], [2], [3], [4]

Examples

Water boiling at 1 atm, with excess temperature of 4.3K from [1].

>>> Montinsky(P=101325, Pc=22048321, Te=4.3)


1185.0509770292663

ht.boiling_nucleic.Rohsenow(rhol, rhog, mul, kl, Cpl, Hvap, sigma, Te=None, q=None, Csf=0.013, n=1.7)
Calculates heat transfer coefficient for a evaporator operating in the nucleate boiling regime according to [2] as
presented in [1].
Either heat flux or excess temperature is required.
With Te specified:
]︂0.5 [︃ ]︃3
[︂ 2/3
𝑔(𝜌𝐿 − 𝜌𝑣 ) 𝐶𝑝,𝐿 ∆𝑇𝑒
ℎ = 𝜇𝐿 ∆𝐻𝑣𝑎𝑝 𝑛
𝜎 𝐶𝑠𝑓 ∆𝐻𝑣𝑎𝑝 𝑃 𝑟𝐿

1.2. API Reference 37


Heat Transfer Documentation, Release 1.0.3

With q specified:

]︂0.5 [︃ ]︃3 ⎞1/3
[︂ 2/3
𝑔(𝜌𝐿 − 𝜌𝑣 ) 𝐶𝑝,𝐿 ∆𝑇𝑒
ℎ = ⎝𝜇𝐿 ∆𝐻𝑣𝑎𝑝 𝑛
⎠ 𝑞 2/3
𝜎 𝐶𝑠𝑓 ∆𝐻𝑣𝑎𝑝 𝑃 𝑟𝐿

Parameters
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the produced gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
kl [float] Thermal conductivity of liquid [W/m/K]
Cpl [float] Heat capacity of liquid [J/kg/K]
Hvap [float] Heat of vaporization of the fluid at P, [J/kg]
sigma [float] Surface tension of liquid [N/m]
Te [float, optional] Excess wall temperature, [K]
q [float, optional] Heat flux, [W/m^2]
Csf [float] Rohsenow coefficient specific to fluid and metal [-]
n [float] Constant, 1 for water, 1.7 (default) for other fluids usually [-]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

No further work is required on this correlation. Multiple sources confirm its form and rearrangement.

References

[1], [2]

Examples

h for water at atmospheric pressure on oxidized aluminum.

>>> Rohsenow(rhol=957.854, rhog=0.595593, mul=2.79E-4, kl=0.680, Cpl=4217,


... Hvap=2.257E6, sigma=0.0589, Te=4.9, Csf=0.011, n=1.26)
3723.655267067467

ht.boiling_nucleic.Serth_HEDH(D, sigma, Hvap, rhol, rhog)


Calculates critical heat flux for nucleic boiling of a tube bundle according to [2], citing [3], and using [1] as the
original form.
0.25
𝑞𝑐 = 𝐾𝐻𝑣𝑎𝑝 𝜌𝑔0.5 [𝜎𝑔(𝜌𝐿 − 𝜌𝑔 )]

𝐾 = 0.123(𝑅* )−0.25 for 0.12 < R* < 1.17

𝐾 = 0.118

38 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

[︂ ]︂0.5
* 𝐷 𝑔(𝜌𝐿 − 𝜌𝐺 )
𝑅 =
2 𝜎
Parameters
D [float] Diameter of tubes [m]
sigma [float] Surface tension of liquid [N/m]
Hvap [float] Heat of vaporization of the fluid at T, [J/kg]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the produced gas [kg/m^3]
Returns
q: float Critical heat flux [W/m^2]

Notes

A further source for this would be nice.

References

[1], [2], [3]

Examples

>>> Serth_HEDH(D=0.0127, sigma=8.2E-3, Hvap=272E3, rhol=567, rhog=18.09)


351867.46522901946

ht.boiling_nucleic.Stephan_Abdelsalam(rhol, rhog, mul, kl, Cpl, Hvap, sigma, Tsat, Te=None, q=None,
kw=401.0, rhow=8.96, Cpw=384.0, angle=None,
correlation='general')
Calculates heat transfer coefficient for a evaporator operating in the nucleate boiling regime according to [2] as
presented in [1]. Five variants are possible.
Either heat flux or excess temperature is required. The forms for Te are not shown here, but are similar to those
of the other functions.

ℎ = 0.23𝑋10.674 𝑋20.35 𝑋30.371 𝑋50.297 𝑋8−1.73 𝑘𝐿 /𝑑𝐵

𝑞𝐷𝑑
𝑋1 =
𝐾𝐿 𝑇𝑠𝑎𝑡
𝛼 2 𝜌𝐿
𝑋2 =
𝜎𝐷𝑑
𝐶𝑝,𝐿 𝑇𝑠𝑎𝑡 𝐷𝑑2
𝑋3 =
𝛼2
𝐻𝑣𝑎𝑝 𝐷𝑑2
𝑋4 =
𝛼2
𝜌𝑉
𝑋5 =
𝜌𝐿
𝐶𝑝,𝑙 𝜇𝐿
𝑋6 =
𝑘𝐿

1.2. API Reference 39


Heat Transfer Documentation, Release 1.0.3

𝜌𝑊 𝐶𝑝,𝑊 𝑘𝑊
𝑋7 =
𝜌𝐿 𝐶𝑝,𝐿 𝑘𝐿
𝜌𝐿 − 𝜌𝑉
𝑋8 =
𝜌𝐿
√︃
2𝜎
𝐷𝑏 = 0.0146𝜃
𝑔(𝜌𝐿 − 𝜌𝑔 )
Respectively, the following four correlations are for water, hydrocarbons, cryogenic fluids, and refrigerants.

ℎ = 0.246 × 107 𝑋10.673 𝑋4−1.58 𝑋31.26 𝑋85.22 𝑘𝐿 /𝑑𝐵

ℎ = 0.0546𝑋50.335 𝑋10.67 𝑋8−4.33 𝑋40.248 𝑘𝐿 /𝑑𝐵

ℎ = 4.82𝑋10.624 𝑋70.117 𝑋30.374 𝑋4−0.329 𝑋50.257 𝑘𝐿 /𝑑𝐵

ℎ = 207𝑋10.745 𝑋50.581 𝑋60.533 𝑘𝐿 /𝑑𝐵


Parameters
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the produced gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
kl [float] Thermal conductivity of liquid [W/m/K]
Cpl [float] Heat capacity of liquid [J/kg/K]
Hvap [float] Heat of vaporization of the fluid at P, [J/kg]
sigma [float] Surface tension of liquid [N/m]
Tsat [float] Saturation temperature at operating pressure [Pa]
Te [float, optional] Excess wall temperature, [K]
q [float, optional] Heat flux, [W/m^2]
kw [float, optional] Thermal conductivity of wall (only for cryogenics) [W/m/K]
rhow [float, optional] Density of the wall (only for cryogenics) [kg/m^3]
Cpw [float, optional] Heat capacity of wall (only for cryogenics) [J/kg/K]
angle [float, optional] Contact angle of bubble with wall [degrees]
correlation [str, optional] Any of ‘general’, ‘water’, ‘hydrocarbon’, ‘cryogenic’, or ‘refrigerant’
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

If cryogenic correlation is selected, metal properties are used. Default values are the properties of copper at STP.
The angle is selected automatically if a correlation is selected; if angle is provided anyway, the auto-
matic selection is ignored. A IndexError exception is raised if the correlation is not in the dictionary _an-
gles_Stephan_Abdelsalam.

40 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3]

Examples

Example is from [3] and matches.

>>> Stephan_Abdelsalam(Te=16.2, Tsat=437.5, Cpl=2730., kl=0.086, mul=156E-6,


... sigma=0.0082, Hvap=272E3, rhol=567, rhog=18.09, angle=35)
26722.441071108373

ht.boiling_nucleic.Zuber(sigma, Hvap, rhol, rhog, K=0.18)


Calculates critical heat flux for nucleic boiling of a flat plate or other shape as presented in various sources. K
= pi/24 is believed to be the original [1] value for K, but 0.149 is now more widely used, a value claimed to be
from [2] according to [5]. Cao [4] lists a value of 0.18 for K. The Wolverine Tube data book also lists a value of
0.18, and so it is the default.
0.25
𝑞𝑐 = 𝐾𝐻 𝑣𝑎𝑝 𝜌0.5
𝑔 [𝜎𝑔(𝜌𝐿 − 𝜌𝑔 )]

Parameters
sigma [float] Surface tension of liquid [N/m]
Hvap [float] Heat of vaporization of the fluid at P, [J/kg]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the produced gas [kg/m^3]
K [float] Constant []
Returns
q: float Critical heat flux [W/m^2]

Notes

No further work is required on this correlation. Multiple sources confirm its form.

References

[1], [2], [3], [4], [5]

Examples

Example from [3]

>>> Zuber(sigma=8.2E-3, Hvap=272E3, rhol=567, rhog=18.09, K=0.149)


444307.22304342285
>>> Zuber(sigma=8.2E-3, Hvap=272E3, rhol=567, rhog=18.09, K=0.18)
536746.9808578263

1.2. API Reference 41


Heat Transfer Documentation, Release 1.0.3

ht.boiling_nucleic.h_nucleic(Te=None, q=None, Tsat=None, P=None, dPsat=None, Cpl=None, kl=None,


mul=None, rhol=None, sigma=None, Hvap=None, rhog=None, MW=None,
Pc=None, Csf=0.013, n=1.7, kw=401.0, rhow=8.96, Cpw=384.0, angle=35.0,
Rp=1e-06, Ra=4e-07, h0=None, CAS=None, Method=None)
This function handles the calculation of nucleate boiling heat flux and chooses the best method for performing
the calculation based on the provided information.
One of Te and q are always required.
Parameters
Te [float, optional] Excess wall temperature, [K]
q [float, optional] Heat flux, [W/m^2]
Tsat [float, optional] Saturation temperature at operating pressure [Pa]
P [float, optional] Saturation pressure of fluid, [Pa]
dPsat [float, optional] Difference in saturation pressure of the fluid at Te and T, [Pa]
Cpl [float, optional] Heat capacity of liquid [J/kg/K]
kl [float, optional] Thermal conductivity of liquid [W/m/K]
mul [float, optional] Viscosity of liquid [Pa*s]
rhol [float, optional] Density of the liquid [kg/m^3]
sigma [float, optional] Surface tension of liquid [N/m]
Hvap [float, optional] Heat of vaporization of the fluid at P, [J/kg]
rhog [float, optional] Density of the produced gas [kg/m^3]
MW [float, optional] Molecular weight of fluid, [g/mol]
Pc [float, optional] Critical pressure of fluid, [Pa]
Csf [float, optional] Rohsenow coefficient specific to fluid and metal [-]
n [float, optional] Rohsenow constant, 1 for water, 1.7 (default) for other fluids usually [-]
kw [float, optional] Thermal conductivity of wall (only for cryogenics) [W/m/K]
rhow [float, optional] Density of the wall (only for cryogenics) [kg/m^3]
Cpw [float, optional] Heat capacity of wall (only for cryogenics) [J/kg/K]
angle [float, optional] Contact angle of bubble with wall [degrees]
Rp [float, optional] Roughness parameter of the surface (1 micrometer default) used by Cooper
method, [m]
Ra [float, optional] Roughness parameter of the surface (0.4 micrometer default) for Gorenflo
method, [m]
h0 [float] Reference heat transfer coefficient for Gorenflo method, [W/m^2/K]
CAS [str, optional] CAS of fluid
Returns
h [float] Nucleate boiling heat flux [W/m^2]
Other Parameters

42 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Method [string, optional] The name of the method to use; one of [‘Gorenflo (1993)’, ‘Stephan-
Abdelsalam water’, ‘Stephan-Abdelsalam cryogenic’, ‘Stephan-Abdelsalam’, ‘HEDH-
Taborek’, ‘Forster-Zuber’, ‘Rohsenow’, ‘Cooper’, ‘Bier’, ‘Montinsky’, ‘McNelly’]

Notes

The methods Stephan-Abdelsalam, Cooper, and Gorenflo all take other arguments as well such as surface rough-
ness or the thermal properties of the wall material. See them for their documentation. These parameters can also
be passed as keyword arguments.

>>> h_nucleic(P=3E5, Pc=22048320., q=2E4, CAS='7732-18-5', Ra=1E-6)


3437.7726419934147

Examples

Water boiling at 3 bar and a heat flux of 2E4 W/m^2/K.

>>> h_nucleic(P=3E5, Pc=22048320., q=2E4, CAS='7732-18-5')


3043.344595525422

Water, known excess temperature of 4.9 K, Rohsenow method

>>> h_nucleic(rhol=957.854, rhog=0.595593, mul=2.79E-4, kl=0.680, Cpl=4217,


... Hvap=2.257E6, sigma=0.0589, Te=4.9, Csf=0.011, n=1.26,
... Method='Rohsenow')
3723.655267067467

ht.boiling_nucleic.h_nucleic_methods(Te=None, Tsat=None, P=None, dPsat=None, Cpl=None, kl=None,


mul=None, rhol=None, sigma=None, Hvap=None, rhog=None,
MW=None, Pc=None, CAS=None, check_ranges=False)
This function returns the names of correlations for nucleate boiling heat flux.
Parameters
Te [float, optional] Excess wall temperature, [K]
Tsat [float, optional] Saturation temperature at operating pressure [Pa]
P [float, optional] Saturation pressure of fluid, [Pa]
dPsat [float, optional] Difference in saturation pressure of the fluid at Te and T, [Pa]
Cpl [float, optional] Heat capacity of liquid [J/kg/K]
kl [float, optional] Thermal conductivity of liquid [W/m/K]
mul [float, optional] Viscosity of liquid [Pa*s]
rhol [float, optional] Density of the liquid [kg/m^3]
sigma [float, optional] Surface tension of liquid [N/m]
Hvap [float, optional] Heat of vaporization of the fluid at P, [J/kg]
rhog [float, optional] Density of the produced gas [kg/m^3]
MW [float, optional] Molecular weight of fluid, [g/mol]
Pc [float, optional] Critical pressure of fluid, [Pa]

1.2. API Reference 43


Heat Transfer Documentation, Release 1.0.3

CAS [str, optional] CAS of fluid


check_ranges [bool, optional] Whether or not to return only correlations suitable for the pro-
vided data, [-]
Returns
methods [list[str]] List of methods which can be used to calculate h with the given inputs

Examples

>>> h_nucleic_methods(P=3E5, Pc=22048320., Te=4.0, CAS='7732-18-5')


['Gorenflo (1993)', 'HEDH-Taborek', 'Bier', 'Montinsky']

ht.boiling_nucleic.qmax_boiling(rhol=None, rhog=None, sigma=None, Hvap=None, D=None, P=None,


Pc=None, Method=None)
This function handles the calculation of nucleate boiling critical heat flux and chooses the best method for per-
forming the calculation.
Preferred methods are ‘Serth-HEDH’ when a tube diameter is specified, and ‘Zuber’ otherwise.
Parameters
rhol [float, optional] Density of the liquid [kg/m^3]
rhog [float, optional] Density of the produced gas [kg/m^3]
sigma [float, optional] Surface tension of liquid [N/m]
Hvap [float, optional] Heat of vaporization of the fluid at T, [J/kg]
D [float, optional] Diameter of tubes [m]
P [float, optional] Saturation pressure of fluid, [Pa]
Pc [float, optional] Critical pressure of fluid, [Pa]
Returns
q [float] Nucleate boiling critical heat flux [W/m^2]
Other Parameters
Method [string, optional] A string of the function name to use; one of (‘Serth-HEDH’, ‘Zuber’,
or ‘HEDH-Montinsky’)

Examples

>>> qmax_boiling(D=0.0127, sigma=8.2E-3, Hvap=272E3, rhol=567, rhog=18.09)


351867.46522901946

ht.boiling_nucleic.qmax_boiling_methods(rhol=None, rhog=None, sigma=None, Hvap=None, D=None,


P=None, Pc=None, check_ranges=False)
This function returns a list of methods names which can be used to calculate nucleate boiling critical heat flux.
Preferred methods are ‘Serth-HEDH’ when a tube diameter is specified, and ‘Zuber’ otherwise.
Parameters
rhol [float, optional] Density of the liquid [kg/m^3]
rhog [float, optional] Density of the produced gas [kg/m^3]

44 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

sigma [float, optional] Surface tension of liquid [N/m]


Hvap [float, optional] Heat of vaporization of the fluid at T, [J/kg]
D [float, optional] Diameter of tubes [m]
P [float, optional] Saturation pressure of fluid, [Pa]
Pc [float, optional] Critical pressure of fluid, [Pa]
check_ranges [bool, optional] Added for Future use only
Returns
methods [list] List of methods which can be used to calculate qmax with the given inputs

Examples

>>> qmax_boiling_methods(D=0.0127, sigma=8.2E-3, Hvap=272E3, rhol=567, rhog=18.09)


['Serth-HEDH', 'Zuber']

1.2.4 Boiling in plate and frame exchangers (ht.boiling_plate)

ht.boiling_plate.h_boiling_Amalfi(m, x, Dh, rhol, rhog, mul, mug, kl, Hvap, sigma, q, A_channel_flow,
chevron_angle=45.0)
Calculates the two-phase boiling heat transfer coefficient of a liquid and gas flowing inside a plate and frame heat
exchanger, as developed in [1] from a wide range of existing correlations and data sets. Expected to be the most
accurate correlation currently available.
For Bond number < 4 (tiny channel case):
)︂1.101 (︂ )︂0.315 (︂ )︂−0.224
𝐺2 𝐷ℎ
(︂ )︂ (︂
𝑘𝑙 𝛽 𝜌𝑙
ℎ = 982 𝐵𝑜0.320
𝐷ℎ 𝛽𝑚𝑎𝑥 𝜌𝑚 𝜎 𝜌𝑔

For Bond number >= 4:


(︂ )︂ (︂ )︂0.248 (︂ )︂−0.223
𝑘𝑙 𝛽 0.135 0.351 𝜌𝑙
ℎ = 18.495 (𝑅𝑒𝑔 ) (𝑅𝑒𝑙𝑜 ) 𝐵𝑑0.235 𝐵𝑜0.198
𝐷ℎ 𝛽𝑚𝑎𝑥 𝜌𝑔

In the above equations, beta max is 45 degrees; Bo is Boiling number; and Bd is Bond number.
Note that this model depends on the specific heat flux involved.
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific point in the plate exchanger []
Dh [float] Hydraulic diameter of the plate, 𝐷ℎ = 4𝜆
𝜑 [m]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of the liquid [Pa*s]
mug [float] Viscosity of the gas [Pa*s]
kl [float] Thermal conductivity of liquid [W/m/K]
Hvap [float] Heat of vaporization of the fluid at the system pressure, [J/kg]

1.2. API Reference 45


Heat Transfer Documentation, Release 1.0.3

sigma [float] Surface tension of liquid [N/m]


q [float] Heat flux, [W/m^2]
A_channel_flow [float] The flow area for the fluid, calculated as 𝐴𝑐ℎ = 2 · width · amplitude
[m]
chevron_angle [float, optional] Angle of the plate corrugations with respect to the vertical axis
(the direction of flow if the plates were straight), between 0 and 90. For exchangers with two
angles, use the average value. [degrees]
Returns
h [float] Boiling heat transfer coefficient [W/m^2/K]

Notes

Heat transfer correlation developed from 1903 datum. Fluids included R134a, ammonia, R236fa, R600a, R290,
R1270, R1234yf, R410A, R507A, ammonia/water, and air/water mixtures. Wide range of operating conditions,
plate geometries.

References

[1]

Examples

>>> h_boiling_Amalfi(m=3E-5, x=.4, Dh=0.00172, rhol=567., rhog=18.09,


... kl=0.086, mul=156E-6, mug=7.11E-6, sigma=0.02, Hvap=9E5, q=1E5,
... A_channel_flow=0.0003)
776.0781179096225

ht.boiling_plate.h_boiling_Han_Lee_Kim(m, x, Dh, rhol, rhog, mul, kl, Hvap, Cpl, q, A_channel_flow,


wavelength, chevron_angle=45.0)
Calculates the two-phase boiling heat transfer coefficient of a liquid and gas flowing inside a plate and frame heat
exchanger, as developed in [1] from experiments with three plate exchangers and the working fluids R410A and
R22. A well-documented and tested correlation, reviewed in [2], [3], [4], [5], and [6].
(︂ )︂
𝑘𝑙
ℎ = 𝐺𝑒1 𝑅𝑒𝐺𝑒
𝑒𝑞 𝑃 𝑟
2 0.4
𝐵𝑜0.3
𝑒𝑞
𝐷ℎ
(︂ )︂−0.041 (︁ )︁−2.83
𝜆 𝜋
𝐺𝑒1 = 2.81 −𝛽
𝐷ℎ 2
(︂ )︂−0.082 (︁ )︁0.61
𝜆 𝜋
𝐺𝑒2 = 0.746 −𝛽
𝐷ℎ 2
𝐺𝑒𝑞 𝐷ℎ
𝑅𝑒𝑒𝑞 =
𝜇𝑙
𝑞
𝐵𝑜𝑒𝑞 =
𝐺𝑒𝑞 𝐻𝑣𝑎𝑝
[︃ (︂ )︂1/2 ]︃
𝑚 𝜌𝑙
𝐺𝑒𝑞 = 1−𝑥+𝑥
𝐴𝑓 𝑙𝑜𝑤 𝜌𝑔

46 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

In the above equations, lambda is the wavelength of the corrugations, and the flow area is specified to be (twice
the corrugation amplitude times the width of the plate. The mass flow is that per channel. Radians is used in
degrees, and the formulas are for the inclination angle not the chevron angle (it is converted internally). Note
that this model depends on the specific heat flux involved.
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific point in the plate exchanger []
Dh [float] Hydraulic diameter of the plate, 𝐷ℎ = 4𝜆
𝜑 [m]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of the liquid [Pa*s]
kl [float] Thermal conductivity of liquid [W/m/K]
Hvap [float] Heat of vaporization of the fluid at the system pressure, [J/kg]
Cpl [float] Heat capacity of liquid [J/kg/K]
q [float] Heat flux, [W/m^2]
A_channel_flow [float] The flow area for the fluid, calculated as 𝐴𝑐ℎ = 2 · width · amplitude
[m]
wavelength [float] Distance between the bottoms of two of the ridges (sometimes called pitch),
[m]
chevron_angle [float, optional] Angle of the plate corrugations with respect to the vertical axis
(the direction of flow if the plates were straight), between 0 and 90. For exchangers with two
angles, use the average value. [degrees]
Returns
h [float] Boiling heat transfer coefficient [W/m^2/K]

Notes

Date regression was with the log mean temperature difference, uncorrected for geometry. Developed with three
plate heat exchangers with angles of 45, 35, and 20 degrees. Mass fluxes ranged from 13 to 34 kg/m^2/s; evap-
orating temperatures of 5, 10, and 15 degrees, vapor quality 0.9 to 0.15, heat fluxes of 2.5-8.5 kW/m^2.

References

[1], [2], [3], [4], [5], [6]

1.2. API Reference 47


Heat Transfer Documentation, Release 1.0.3

Examples

>>> h_boiling_Han_Lee_Kim(m=3E-5, x=.4, Dh=0.002, rhol=567., rhog=18.09,


... kl=0.086, mul=156E-6, Hvap=9E5, Cpl=2200, q=1E5, A_channel_flow=0.0003,
... wavelength=3.7E-3, chevron_angle=45)
675.7322255419421

ht.boiling_plate.h_boiling_Huang_Sheer(rhol, rhog, mul, kl, Hvap, sigma, Cpl, q, Tsat, angle=35.0)


Calculates the two-phase boiling heat transfer coefficient of a liquid and gas flowing inside a plate and frame heat
exchanger, as developed in [1] and again in the thesis [2]. Depends on the properties of the fluid and not the heat
exchanger’s geometry.
)︂0.56 (︂ )︂0.31
𝐻𝑣𝑎𝑝 𝑑2𝑜
(︂ )︂ (︂
𝑘𝑙 𝑞𝑑𝑜
ℎ = 1.87 × 10−3 𝑃 𝑟𝑙0.33
𝑑𝑜 𝑘𝑙 𝑇𝑠𝑎𝑡 𝛼𝑙2
[︂ ]︂0.5
2𝜎
𝑑𝑜 = 0.0146𝜃
𝑔(𝜌𝑙 − 𝜌𝑔 )
𝜃 = 35∘
Note that this model depends on the specific heat flux involved and the saturation temperature of the fluid.
Parameters
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of the liquid [Pa*s]
kl [float] Thermal conductivity of liquid [W/m/K]
Hvap [float] Heat of vaporization of the fluid at the system pressure, [J/kg]
sigma [float] Surface tension of liquid [N/m]
Cpl [float] Heat capacity of liquid [J/kg/K]
q [float] Heat flux, [W/m^2]
Tsat [float] Actual saturation temperature of the fluid at the system pressure, [K]
angle [float, optional] Contact angle of the bubbles with the wall, assumed 35 for refrigerants in
the development of the correlation [degrees]
Returns
h [float] Boiling heat transfer coefficient [W/m^2/K]

Notes

Developed with 222 data points for R134a and R507A with only two of them for ammonia and R12. Chevron
angles ranged from 28 to 60 degrees, heat fluxes from 1.85 kW/m^2 to 10.75 kW/m^2, mass fluxes 5.6 to 52.25
kg/m^2/s, qualities from 0.21 to 0.95, and saturation temperatures in degrees Celcius of 1.9 to 13.04.
The inclusion of the saturation temperature makes this correlation have limited predictive power for other fluids
whose saturation tempratures might be much higher or lower than those used in the development of the correla-
tion. For this reason it should be regarded with caution.
As first published in [1] a power of two was missing in the correlation for bubble diameter in the dimensionless
group with a power of 0.31. That made the correlation non-dimensional.

48 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

A second variant of this correlation was also published in [2] but with less accuracy because it was designed to
mimick the standard pool boiling curve.
The correlation is reviewed in [3], but without the corrected power. It was also changed there to use hydraulic
diameter, not bubble diameter. It still ranked as one of the more accurate correlations reviewed. [4] also reviewed
it without the corrected power but found it predicted the lowest results of those surveyed.

References

[1], [2], [3], [4]

Examples

>>> h_boiling_Huang_Sheer(rhol=567., rhog=18.09, kl=0.086, mul=156E-6,


... Hvap=9E5, sigma=0.02, Cpl=2200, q=1E4, Tsat=279.15)
4401.055635078054

ht.boiling_plate.h_boiling_Lee_Kang_Kim(m, x, D_eq, rhol, rhog, mul, mug, kl, Hvap, q, A_channel_flow)


Calculates the two-phase boiling heat transfer coefficient of a liquid and gas flowing inside a plate and frame heat
exchanger, as shown in [1] and reviewed in [2].
For 𝑅𝑒𝑔 /𝑅𝑒𝑙 < 9:
(︂ )︂ (︂ )︂−0.0848
𝑘𝑙 𝑅𝑒𝑔
ℎ = 98.7 𝐵𝑜−0.0597 𝑋𝑡𝑡
0.0973
𝐷ℎ 𝑅𝑒𝑙

For 𝑅𝑒𝑔 /𝑅𝑒𝑙 ≥ 9:


(︂ )︂ (︂ )︂−0.576
𝑘𝑙 𝑅𝑒𝑔
ℎ = 234.9 𝐵𝑜−0.275 𝑋𝑡𝑡
0.66
𝐷ℎ 𝑅𝑒𝑙
(︂ )︂0.875 (︂ )︂0.5 (︂ )︂0.125
1−𝑥 𝜌𝑔 𝜇𝑙
𝑋𝑡𝑡 =
𝑥 𝜌𝑙 𝜇𝑔
In the above equations, Bo is Boiling number.
Note that this model depends on the specific heat flux involved. It also uses equivalent diameter, not hydraulic
diameter.
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific point in the plate exchanger []
D_eq [float] Equivalent diameter of the channels, 𝐷𝑒𝑞 = 4𝑎 [m]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of the liquid [Pa*s]
mug [float] Viscosity of the gas [Pa*s]
kl [float] Thermal conductivity of liquid [W/m/K]
Hvap [float] Heat of vaporization of the fluid at the system pressure, [J/kg]
q [float] Heat flux, [W/m^2]

1.2. API Reference 49


Heat Transfer Documentation, Release 1.0.3

A_channel_flow [float] The flow area for the fluid, calculated as 𝐴𝑐ℎ = 2 · width · amplitude
[m]
Returns
h [float] Boiling heat transfer coefficient [W/m^2/K]

Notes

This correlation was developed with mass fluxes from 14.5 to 33.6 kg/m^2/s, heat flux from 15 to 30 kW/m^2,
qualities from 0.09 to 0.6, 200 < Re < 600, 2.3 < Re_g/Re_l < 32.1, 0.00019 < Bo < 0.001, 0.028 < Xtt < 0.3.
Mean average deviation of 4.4%.

References

[1], [2]

Examples

>>> h_boiling_Lee_Kang_Kim(m=3E-5, x=.4, D_eq=0.002, rhol=567., rhog=18.09,


... kl=0.086, mul=156E-6, mug=9E-6, Hvap=9E5, q=1E5, A_channel_flow=0.0003)
1229.6271295086806

ht.boiling_plate.h_boiling_Yan_Lin(m, x, Dh, rhol, rhog, mul, kl, Hvap, Cpl, q, A_channel_flow)


Calculates the two-phase boiling heat transfer coefficient of a liquid and gas flowing inside a plate and frame heat
exchanger, as developed in [1]. Reviewed in [2], [3], [4], and [5].
(︂ )︂
𝑘𝑙 1/3 −0.5
ℎ = 1.926 𝑅𝑒𝑒𝑞 𝑃 𝑟𝑙 𝐵𝑜0.3 𝑒𝑞 𝑅𝑒
𝐷ℎ

𝐺𝑒𝑞 𝐷ℎ
𝑅𝑒𝑒𝑞 =
𝜇𝑙
𝑞
𝐵𝑜𝑒𝑞 =
𝐺𝑒𝑞 𝐻𝑣𝑎𝑝
[︃ (︂ )︂1/2 ]︃
𝑚 𝜌𝑙
𝐺𝑒𝑞 = 1−𝑥+𝑥
𝐴𝑓 𝑙𝑜𝑤 𝜌𝑔
𝐺𝐷ℎ
𝑅𝑒 =
𝜇𝑙
Claimed to be valid for 2000 < 𝑅𝑒𝑒𝑞 < 10000.
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific point in the plate exchanger []
Dh [float] Hydraulic diameter of the plate, 𝐷ℎ = 4𝜆
𝜑 [m]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of the liquid [Pa*s]
kl [float] Thermal conductivity of liquid [W/m/K]

50 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Hvap [float] Heat of vaporization of the fluid at the system pressure, [J/kg]
Cpl [float] Heat capacity of liquid [J/kg/K]
q [float] Heat flux, [W/m^2]
A_channel_flow [float] The flow area for the fluid, calculated as 𝐴𝑐ℎ = 2 · width · amplitude
[m]
Returns
h [float] Boiling heat transfer coefficient [W/m^2/K]

Notes

Developed with R134a as the refrigerant in a PHD with 2 channels, chevron angle 60 degrees, quality from 0.1
to 0.8, heat flux 11-15 kW/m^2, and mass fluxes of 55 and 70 kg/m^2/s.

References

[1], [2], [3], [4], [5]

Examples

>>> h_boiling_Yan_Lin(m=3E-5, x=.4, Dh=0.002, rhol=567., rhog=18.09,


... kl=0.086, Cpl=2200, mul=156E-6, Hvap=9E5, q=1E5, A_channel_flow=0.0003)
318.7228565961241

1.2.5 Condensation (ht.condensation)

ht.condensation.Akers_Deans_Crosser(m, rhog, rhol, kl, mul, Cpl, D, x)


Calculates heat transfer coefficient for condensation of a pure chemical inside a vertical tube or tube bundle, as
presented in [2] according to [1].
ℎ𝐷𝑖 1/3
𝑁𝑢 = = 𝐶𝑅𝑒𝑛𝑒 𝑃 𝑟𝑙
𝑘𝑙

𝐶 = 0.0265, 𝑛 = 0.8 for 𝑅𝑒𝑒 > 5 × 104


1
𝐶 = 5.03, 𝑛 = for 𝑅𝑒𝑒 < 5 × 104
3
𝐷𝑖 𝐺𝑒
𝑅𝑒𝑒 =
𝜇𝑙
𝐺𝑒 = 𝐺 (1 − 𝑥) + 𝑥(𝜌𝑙 /𝜌𝑔 )0.5
[︀ ]︀

Parameters
m [float] Mass flow rate [kg/s]
rhog [float] Density of the gas [kg/m^3]
rhol [float] Density of the liquid [kg/m^3]
kl [float] Thermal conductivity of liquid [W/m/K]
mul [float] Viscosity of liquid [Pa*s]

1.2. API Reference 51


Heat Transfer Documentation, Release 1.0.3

Cpl [float] Constant-pressure heat capacity of liquid [J/kg/K]


D [float] Diameter of the tubing [m]
x [float] Quality at the specific interval [-]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

References

[1], [2]

Examples

>>> Akers_Deans_Crosser(m=0.35, rhog=6.36, rhol=582.9, kl=0.098,


... mul=159E-6, Cpl=2520., D=0.03, x=0.85)
7117.24177265201

ht.condensation.Boyko_Kruzhilin(m, rhog, rhol, kl, mul, Cpl, D, x)


Calculates heat transfer coefficient for condensation of a pure chemical inside a vertical tube or tube bundle, as
presented in [2] according to [1].
[︂ (︂ )︂]︂0.5
𝜌𝐿
ℎ𝑓 = ℎ𝐿𝑂 1 + 𝑥 −1
𝜌𝐺

𝑘𝐿 0.8 0.43
ℎ𝐿𝑂 = 0.021 𝑅𝑒𝐿𝑂 𝑃 𝑟
𝐿
Parameters
m [float] Mass flow rate [kg/s]
rhog [float] Density of the gas [kg/m^3]
rhol [float] Density of the liquid [kg/m^3]
kl [float] Thermal conductivity of liquid [W/m/K]
mul [float] Viscosity of liquid [Pa*s]
Cpl [float] Constant-pressure heat capacity of liquid [J/kg/K]
D [float] Diameter of the tubing [m]
x [float] Quality at the specific interval [-]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

52 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Notes

To calculate overall heat transfer coefficient during condensation, simply average values at x = 1 and x = 0.

References

[1], [2]

Examples

Page 589 in [2], matches exactly.

>>> Boyko_Kruzhilin(m=500*pi/4*.03**2, rhog=6.36, rhol=582.9, kl=0.098,


... mul=159E-6, Cpl=2520., D=0.03, x=0.85)
10598.657227479956

ht.condensation.Cavallini_Smith_Zecchin(m, x, D, rhol, rhog, mul, mug, kl, Cpl)


Calculates heat transfer coefficient for condensation of a fluid inside a tube, as presented in [1], also given in [2]
and [3].
ℎ𝐷𝑖
𝑁𝑢 = = 0.05𝑅𝑒0.8 0.33
𝑒 𝑃 𝑟𝑙
𝑘𝑙

𝑅𝑒𝑒𝑞 = 𝑅𝑒𝑔 (𝜇𝑔 /𝜇𝑙 )(𝜌𝑙 /𝜌𝑔 )0.5 + 𝑅𝑒𝑙


𝑚𝑥
𝑣𝑔𝑠 =
𝜌𝑔 𝜋4 𝐷2
𝑚(1 − 𝑥)
𝑣𝑙𝑠 =
𝜌𝑙 𝜋4 𝐷2
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific interval [-]
D [float] Diameter of the channel [m]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
mug [float] Viscosity of gas [Pa*s]
kl [float] Thermal conductivity of liquid [W/m/K]
Cpl [float] Constant-pressure heat capacity of liquid [J/kg/K]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

1.2. API Reference 53


Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3]

Examples

>>> Cavallini_Smith_Zecchin(m=1, x=0.4, D=.3, rhol=800, rhog=2.5, mul=1E-5, mug=1E-


˓→3, kl=0.6, Cpl=2300)

5578.218369177804

ht.condensation.Nusselt_laminar(Tsat, Tw, rhog, rhol, kl, mul, Hvap, L, angle=90.0)


Calculates heat transfer coefficient for laminar film condensation of a pure chemical on a flat plate, as presented
in [1] according to an analysis performed by Nusselt in 1916.
]︂0.25
𝑔 sin(𝜃)𝜌𝑙𝑖𝑞 (𝜌𝑙 − 𝜌𝑣 )𝑘𝑙3 ∆𝐻𝑣𝑎𝑝
[︂
ℎ = 0.943
𝜇𝑙 (𝑇𝑠𝑎𝑡 − 𝑇𝑤 )𝐿

Parameters
Tsat [float] Saturation temperature at operating pressure [Pa]
Tw [float] Wall temperature, [K]
rhog [float] Density of the gas [kg/m^3]
rhol [float] Density of the liquid [kg/m^3]
kl [float] Thermal conductivity of liquid [W/m/K]
mul [float] Viscosity of liquid [Pa*s]
Hvap [float] Heat of vaporization of the fluid at P, [J/kg]
L [float] Length of the plate [m]
angle [float, optional] Angle of inclination of the plate [degrees]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

Optionally, the plate may be inclined. The constant 0.943 is actually:



2 2/3

References

[1]

54 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Examples

p. 578 in [1], matches exactly.

>>> Nusselt_laminar(Tsat=370, Tw=350, rhog=7.0, rhol=585., kl=0.091,


... mul=158.9E-6, Hvap=776900, L=0.1)
1482.206403453679

ht.condensation.Shah(m, x, D, rhol, mul, kl, Cpl, P, Pc)


Calculates heat transfer coefficient for condensation of a fluid inside a tube, as presented in [1] and again by the
same author in [2]; also given in [3]. Requires no properties of the gas. Uses the Dittus-Boelter correlation for
single phase heat transfer coefficient, with a Reynolds number assuming all the flow is liquid.

3.8𝑥0.76 (1 − 𝑥)0.04
[︂ ]︂
0.8
ℎ𝑇 𝑃 = ℎ𝐿 (1 − 𝑥) +
𝑃𝑟0.38

Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific interval [-]
D [float] Diameter of the channel [m]
rhol [float] Density of the liquid [kg/m^3]
mul [float] Viscosity of liquid [Pa*s]
kl [float] Thermal conductivity of liquid [W/m/K]
Cpl [float] Constant-pressure heat capacity of liquid [J/kg/K]
P [float] Pressure of the fluid, [Pa]
Pc [float] Critical pressure of the fluid, [Pa]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

[1] is well written an unambiguous as to how to apply this equation.

References

[1], [2], [3]

Examples

>>> Shah(m=1, x=0.4, D=.3, rhol=800, mul=1E-5, kl=0.6, Cpl=2300, P=1E6, Pc=2E7)
2561.2593415479214

1.2. API Reference 55


Heat Transfer Documentation, Release 1.0.3

ht.condensation.h_kinetic(T, P, MW, Hvap, f=1.0)


Calculates heat transfer coefficient for condensation of a pure chemical inside a vertical tube or tube bundle, as
presented in [2] according to [1].
)︂0.5 (︃ 2 )︃
𝐻𝑣𝑎𝑝 𝑃 · 𝑀 𝑊
(︂ )︂ (︂
2𝑓 𝑀𝑊
ℎ=
2−𝑓 1000 · 2𝜋𝑅𝑇 1000 · 𝑅𝑇 2

Parameters
T [float] Vapor temperature, [K]
P [float] Vapor pressure, [Pa]
MW [float] Molecular weight of the gas, [g/mol]
Hvap [float] Heat of vaporization of the fluid at P, [J/kg]
f [float] Correction factor, [-]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

f is a correction factor for how the removal of gas particles affects the behavior of the ideal gas in diffusing to the
condensing surface. It is quite close to one, and has not been well explored in the literature due to the rarity of
the importance of the kinetic resistance.

References

[1], [2], [3]

Examples

Water at 1 bar and 300 K:

>>> h_kinetic(300, 1E5, 18.02, 2441674)


30788829.908851154

1.2.6 Conduction and shape factors (ht.conduction)

ht.conduction.R_cylinder(Di, Do, k, L)
Returns the thermal resistance R of a cylinder of constant thermal conductivity k, of inner and outer diameter Di
and Do, and with a length L.
𝑘
(ℎ𝐴)cylinder = · 2𝜋𝐿
ln(𝐷𝑜 /𝐷𝑖 )
1 ln(𝐷𝑜 /𝐷𝑖 )
𝑅cylinder = =
(ℎ𝐴)cylinder 2𝜋𝐿𝑘
Parameters
Di [float] Inner diameter of the cylinder, [m]
Do [float] Outer diameter of the cylinder, [m]

56 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

k [float] Thermal conductivity of the cylinder, [W/m/K]


L [float] Length of the cylinder, [m]
Returns
R [float] Thermal resistance [K/W]

References

[1]

Examples

>>> R_cylinder(0.9, 1., 20, 10)


8.38432343682705e-05

ht.conduction.R_to_k(R, t, A=1.0)
Returns the thermal conductivity of a substance given its thickness and thermal resistance.
𝑡
𝑘=
𝑅𝐴
Parameters
R [float] Thermal resistance of a substance, (K/W) if A is 1 m^2, otherwise must be [m^2*K/W]
t [float] Thickness of the substance used in the measurement of R, [m]
A [float, optional] Area; normally 1, [m^2]
Returns
k [float] Thermal conductivity of a substance [W/m/K]

Notes

When solving problems of changing areas, this value may be calculated with an area other than 1 m^2. Values
in tables reported as properties of materials are often divided by area already; the conversion holds if A is 1.

References

[1]

Examples

>>> R_to_k(R=0.05, t=0.025)


0.5

ht.conduction.R_value_to_k(R_value, SI=True)
Returns the thermal conductivity of a substance given its R-value, which can be in either SI units of m^2
K/(W*inch) or the Imperial units of ft^2 deg F*h/(BTU*inch).
Parameters
R_value [float] R-value of a substance [m^2 K/(W*inch) or ft^2 deg F*h/(BTU*inch)]

1.2. API Reference 57


Heat Transfer Documentation, Release 1.0.3

SI [bool, optional] Whether to use the SI conversion or not


Returns
k [float] Thermal conductivity of a substance [W/m/K]

Notes

If given input is SI, it is divided by 0.0254 (multiplied by 39.37) and then inversed. Otherwise, it is multiplied
by 6.93347 and then inversed.

References

[1]

Examples

>>> R_value_to_k(0.12), R_value_to_k(0.71, SI=False)


(0.2116666666666667, 0.20313787163983468)

>>> R_value_to_k(1., SI=False)/R_value_to_k(1.)


5.678263341113488

ht.conduction.S_isothermal_pipe_eccentric_to_isothermal_pipe(D1, D2, Z, L=1.0)


Returns the Shape factor S of a pipe of constant outer temperature and of outer diameter D1 which is Z distance
from the center of another pipe of outer diameter`D2`. Length L must be provided, but can be set to 1 to obtain
a dimensionless shape factor used in some sources.

2𝜋𝐿
𝑆= (︁ )︁
−1 𝐷22 +𝐷12 −4𝑍 2
cosh 2𝐷1 𝐷2

Parameters
D1 [float] Diameter of inner pipe, [m]
D2 [float] Diameter of outer pipe, [m]
Z [float] Distance from the middle of inner pipe to the center of the other, [m]
L [float, optional] Length of the pipe, [m]
Returns
S [float] Shape factor [m]

Notes

L should be much larger than both diameters. D2 should be larger than D1.

𝑄 = 𝑆𝑘(𝑇1 − 𝑇2 )
1
𝑅shape =
𝑆𝑘

58 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

References

[1], [2]

Examples

>>> S_isothermal_pipe_eccentric_to_isothermal_pipe(.1, .4, .05, 10)


47.709841915608976

ht.conduction.S_isothermal_pipe_normal_to_plane(D, L)
Returns the Shape factor S of a pipe of constant outer temperature and of outer diameter D which extends into
an infinite medium below an an infinite plane.
2𝜋𝐿
𝑆=
ln(4𝐿/𝐷)

Parameters
D [float] Diameter of the pipe, [m]
L [float] Length of the pipe, [m]
Returns
S [float] Shape factor [m]

Notes

L should be much larger than D.

𝑄 = 𝑆𝑘(𝑇1 − 𝑇2 )
1
𝑅shape =
𝑆𝑘

References

[1], [2]

Examples

>>> S_isothermal_pipe_normal_to_plane(1, 100)


104.86893910124888

ht.conduction.S_isothermal_pipe_to_isothermal_pipe(D1, D2, W, L=1.0)


Returns the Shape factor S of a pipe of constant outer temperature and of outer diameter D1 which is w distance
from another infinite pipe of outer diameter`D2`. Length L must be provided, but can be set to 1 to obtain a
dimensionless shape factor used in some sources.
2𝜋𝐿
𝑆= (︁ )︁
−1 4𝑤2 −𝐷12 −𝐷22
cosh 2𝐷1 𝐷2

Parameters
D1 [float] Diameter of one pipe, [m]

1.2. API Reference 59


Heat Transfer Documentation, Release 1.0.3

D2 [float] Diameter of the other pipe, [m]


W [float] Distance from the middle of one pipe to the middle of the other, [m]
L [float, optional] Length of the pipe, [m]
Returns
S [float] Shape factor [m]

Notes

L should be much larger than both diameters. L should be larger than W.

𝑄 = 𝑆𝑘(𝑇1 − 𝑇2 )
1
𝑅shape =
𝑆𝑘

References

[1], [2]

Examples

>>> S_isothermal_pipe_to_isothermal_pipe(.1, .2, 1, 1)


1.188711034982268

ht.conduction.S_isothermal_pipe_to_plane(D, Z, L=1)
Returns the Shape factor S of a pipe of constant outer temperature and of outer diameter D which is Z distance
from an infinite plane. Length L must be provided, but can be set to 1 to obtain a dimensionless shape factor
used in some sources.
2𝜋𝐿
𝑆= −1
cosh (2𝑧/𝐷)

Parameters
D [float] Diameter of the pipe, [m]
Z [float] Distance from the middle of the pipe to the infinite plane, [m]
L [float, optional] Length of the pipe, [m]
Returns
S [float] Shape factor [m]

Notes

L should be much larger than D.

𝑄 = 𝑆𝑘(𝑇1 − 𝑇2 )
1
𝑅shape =
𝑆𝑘

60 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

References

[1], [2]

Examples

>>> S_isothermal_pipe_to_plane(1, 100, 3)


3.146071454894645

ht.conduction.S_isothermal_pipe_to_two_planes(D, Z, L=1.0)
Returns the Shape factor S of a pipe of constant outer temperature and of outer diameter D which is Z distance
from two infinite isothermal planes of equal temperatures, parallel to each other and enclosing the pipe. Length
L must be provided, but can be set to 1 to obtain a dimensionless shape factor used in some sources.

2𝜋𝐿
𝑆= 8𝑧
ln 𝜋𝐷

Parameters
D [float] Diameter of the pipe, [m]
Z [float] Distance from the middle of the pipe to either of the planes, [m]
L [float, optional] Length of the pipe, [m]
Returns
S [float] Shape factor [m]

Notes

L should be much larger than both diameters. L should be larger than W.

𝑄 = 𝑆𝑘(𝑇1 − 𝑇2 )
1
𝑅shape =
𝑆𝑘

References

[1], [2]

Examples

>>> S_isothermal_pipe_to_two_planes(.1, 5, 1)
1.2963749299921428

ht.conduction.S_isothermal_sphere_to_plane(D, Z)
Returns the Shape factor S of a sphere of constant temperature and of outer diameter D which is Z distance from
an infinite plane.

2𝜋𝐷
𝑆= 𝐷
1 − 4𝑍

Parameters

1.2. API Reference 61


Heat Transfer Documentation, Release 1.0.3

D [float] Diameter of the sphere, [m]


Z [float] Distance from the middle of the sphere to the infinite plane, [m]
Returns
S [float] Shape factor [m]

Notes

No restrictions on the use of this equation.

𝑄 = 𝑆𝑘(𝑇1 − 𝑇2 )
1
𝑅shape =
𝑆𝑘

References

[1], [2]

Examples

>>> S_isothermal_sphere_to_plane(1, 100)


6.298932638776527

ht.conduction.cylindrical_heat_transfer(Ti, To, hi, ho, Di, ts, ks)


Calculation for the heat transfer through a cylindrical wall, as occurs in pipes and cylindrical vessels. This is the
core method which calculates the temperatures of each layer - and allows an outer layer to iterate on temperature
or duty to meet a fixed specification, or include things like temperature dependent thermal conductivities or
radiation.
Parameters
Ti [float] Temperature of the inside of the cylinder, [K]
To [float] External temperature outside the cylinder, away from the cylinder wall, [K]
hi [float] Inside heat transfer coefficient, [W/m^2/K]
ho [float] Outside heat transfer coefficient, [W/m^2/K]
Di [float] Inside diameter of cylinder, [m]
ts [list[float]] List of thicknesses of each layer of the cylinder, [m]
ks [list[float]] List of thermal conductivities of each layer of the cylinder, [w/m/K]
Returns
results [dict]
• Q : Heat exchanged through the cylinder (per meter of length), [W/m]
• Rs : Thermal resistances of each of the layers, [m*K/W]
• Ts : Temperatures of the outside of each of the layers, [K]
• UA [Heat transfer coefficient times area (on a per-meter of] cylinder) basis, [W/K/m]
• U_inner [Heat transfer coefficient with respect to the inside] diameter, [W/K]

62 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

• U_outer [Heat transfer coefficient with respect to the exterior] diameter, [W/K]
• q [Specific heat exchanged (per square meter) through the cylinder] (per meter of length),
[W/m^3]

Examples

>>> from pprint import pprint


>>> pprint(cylindrical_heat_transfer(Ti=453.15, To=301.15, hi=1e12, ho=22.697193,␣
˓→Di=0.0779272, ts=[0.0054864, .05], ks=[56.045, 0.0598535265]))

{'Q': 73.12000884069367,
'Rs': [0.00022201030738405449, 1.189361782070256],
'Ts': [453.15, 453.1226455779877, 306.578530147744],
'UA': 0.48105268974140575,
'U_inner': 1.9649599487726137,
'U_outer': 0.8106078714663484,
'q': 123.21239646288495}

ht.conduction.k_to_R(k, t, A=1.0)
Returns the thermal resistance of a substance given its thickness and thermal conductivity.
𝑡
𝑅=
𝑘𝐴
Parameters
k [float] Thermal conductivity of a substance [W/m/K]
t [float] Thickness of the substance for a given value of R, [m]
A [float, optional] Area; normally 1, [m^2]
Returns
R [float] Thermal resistance of a substance [K/W]

Notes

When solving problems of changing areas, this value may be calculated with an area other than 1 m^2. Values
in tables reported as properties of materials are often divided by area already; the conversion holds if A is 1.

References

[1]

Examples

>>> k_to_R(k=0.5, t=0.025)


0.05

ht.conduction.k_to_R_value(k, SI=True)
Returns the R-value of a substance given its thermal conductivity, Will return R-value in SI units unless SI is
false. SI units are m^2 K/(W*inch); Imperial units of R-value are ft^2 deg F*h/(BTU*inch).
Parameters

1.2. API Reference 63


Heat Transfer Documentation, Release 1.0.3

k [float] Thermal conductivity of a substance [W/m/K]


SI [bool, optional] Whether to use the SI conversion or not
Returns
R_value [float] R-value of a substance [m^2 K/(W*inch) or ft^2 deg F*h/(BTU*inch)]

Notes

Provides the reverse conversion of R_value_to_k.

References

[1]

Examples

>>> k_to_R_value(R_value_to_k(0.12)), k_to_R_value(R_value_to_k(0.71, SI=False),␣


˓→SI=False)

(0.11999999999999998, 0.7099999999999999)

ht.conduction.k_to_thermal_resistivity(k)
Returns the thermal resistivity of a substance given its thermal conductivity.
1
𝑟=
𝑘
Parameters
k [float] Thermal conductivity of a substance [W/m/K]
Returns
r [float] Thermal resistivity of a substance [m*K/W]

Notes

Do not confuse this with thermal resistance! Often not introduced in heat transfer textbooks to avoid further
confusion. Used almost exclusively as a description of solids. Thermal resistivity has different units than R-
value, but is of the same dimensionality.

References

[1]

64 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Examples

>>> k_to_thermal_resistivity(0.25)
4.0

ht.conduction.thermal_resistivity_to_k(r)
Returns the thermal resistivity of a substance given its thermal conductivity.
1
𝑘=
𝑟
Parameters
r [float] Thermal resistivity of a substance [m*K/W]
Returns
k [float] Thermal conductivity of a substance [W/m/K]

Notes

Do not confuse this with thermal resistance! Often not introduced in heat as a description of solids. Thermal
resistivity has different units than R-value, but is of the same dimensionality.

References

[1]

Examples

>>> thermal_resistivity_to_k(4)
0.25

1.2.7 External convection (ht.conv_external)

ht.conv_external.Nu_cylinder_Churchill_Bernstein(Re, Pr)
Calculates Nusselt number for crossflow across a single tube at a specified Re and Pr, both evaluated at the film
temperature. No other wall correction is necessary for this formulation. Method is shown without modification
in [2] and many other texts.
[︃ )︂5/8 ]︃0.8
0.62𝑅𝑒0.5 1/3
(︂
𝐷 𝑃𝑟 𝑅𝑒𝐷
𝑁 𝑢𝐷 = 0.3 + 1+
[1 + (0.4/𝑃 𝑟)2/3 ]0.25 282000

Parameters
Re [float] Reynolds number with respect to cylinder diameter, [-]
Pr [float] Prandtl number at film temperature, [-]
Returns
Nu [float] Nusselt number with respect to cylinder diameter, [-]

1.2. API Reference 65


Heat Transfer Documentation, Release 1.0.3

Notes

May underestimate heat transfer in some cases, as it the formula is described in [1] as “appears to provide a lower
bound for RePr > 0.4”. An alternate exponent for a smaller range is also presented in [1].
This method applies to both the laminar and turbulent regimes.

References

[1], [2]

Examples

Example 7.3 in [2], matches.

>>> Nu_cylinder_Churchill_Bernstein(6071, 0.7)


40.63708594124974

ht.conv_external.Nu_cylinder_Fand(Re, Pr)
Calculates Nusselt number for crossflow across a single tube at a specified Re and Pr, both evaluated at the film
temperature. No other wall correction is necessary for this formulation. Also shown in [2].

𝑁 𝑢 = (0.35 + 0.34𝑅𝑒0.5 + 0.15𝑅𝑒0.58 )𝑃 𝑟0.3

Parameters
Re [float] Reynolds number with respect to cylinder diameter, [-]
Pr [float] Prandtl number at film temperature, [-]
Returns
Nu [float] Nusselt number with respect to cylinder diameter, [-]

Notes

Developed with test results for water, and Re from 1E4 to 1E5, but also compared with other data in the literature.
Claimed validity of Re from 1E-1 to 1E5.
This method applies to both the laminar and turbulent regimes.

References

[1], [2]

66 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Examples

>>> Nu_cylinder_Fand(6071, 0.7)


45.19984325481126

ht.conv_external.Nu_cylinder_McAdams(Re, Pr)
Calculates Nusselt number for crossflow across a single tube at a specified Re and Pr, both evaluated at the film
temperature. No other wall correction is necessary for this formulation. Also shown in [2].

𝑁 𝑢 = (0.35 + 0.56𝑅𝑒0.52 )𝑃 𝑟0.3

Parameters
Re [float] Reynolds number with respect to cylinder diameter, [-]
Pr [float] Prandtl number at film temperature, [-]
Returns
Nu [float] Nusselt number with respect to cylinder diameter, [-]

Notes

Developed with very limited test results for water only.


This method applies to both the laminar and turbulent regimes.

References

[1], [2]

Examples

>>> Nu_cylinder_McAdams(6071, 0.7)


46.98179235867934

ht.conv_external.Nu_cylinder_Perkins_Leppert_1962(Re, Pr, mu=None, muw=None)


Calculates Nusselt number for crossflow across a single tube as shown in [1] at a specified Re and Pr, both
evaluated at the free stream temperature. Recommends a viscosity exponent correction of 0.25, which is applied
only if provided. Also shown in [2].
(︂ )︂0.25
𝜇
𝑁 𝑢 = 0.30𝑅𝑒0.5 + 0.10𝑅𝑒0.67 𝑃 𝑟0.4
[︀ ]︀
𝜇𝑤

Parameters
Re [float] Reynolds number with respect to cylinder diameter, [-]
Pr [float] Prandtl number at free stream temperature, [-]
mu [float, optional] Viscosity of fluid at the free stream temperature [Pa*s]
muw [float, optional] Viscosity of fluid at the wall temperature [Pa*s]
Returns
Nu [float] Nusselt number with respect to cylinder diameter, [-]

1.2. API Reference 67


Heat Transfer Documentation, Release 1.0.3

Notes

Considered results with Re from 40 to 1E5, Pr from 1 to 300; and viscosity ratios of 0.25 to 4.
This method applies to both the laminar and turbulent regimes.

References

[1], [2]

Examples

>>> Nu_cylinder_Perkins_Leppert_1962(6071, 0.7)


49.97164291175499

ht.conv_external.Nu_cylinder_Perkins_Leppert_1964(Re, Pr, mu=None, muw=None)


Calculates Nusselt number for crossflow across a single tube as shown in [1] at a specified Re and Pr, both
evaluated at the free stream temperature. Recommends a viscosity exponent correction of 0.25, which is applied
only if provided. Also shown in [2].
(︂ )︂0.25
𝜇
𝑁 𝑢 = 0.31𝑅𝑒0.5 + 0.11𝑅𝑒0.67 𝑃 𝑟0.4
[︀ ]︀
𝜇𝑤

Parameters
Re [float] Reynolds number with respect to cylinder diameter, [-]
Pr [float] Prandtl number at free stream temperature, [-]
mu [float, optional] Viscosity of fluid at the free stream temperature [Pa*s]
muw [float, optional] Viscosity of fluid at the wall temperature [Pa*s]
Returns
Nu [float] Nusselt number with respect to cylinder diameter, [-]

Notes

Considers new data since Nu_cylinder_Perkins_Leppert_1962, Re from 2E3 to 1.2E5, Pr from 1 to 7, and surface
to bulk temperature differences of 11 to 66.
This method applies to both the laminar and turbulent regimes.

References

[1], [2]

68 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Examples

>>> Nu_cylinder_Perkins_Leppert_1964(6071, 0.7)


53.61767038619986

ht.conv_external.Nu_cylinder_Sanitjai_Goldstein(Re, Pr)
Calculates Nusselt number for crossflow across a single tube at a specified Re and Pr, both evaluated at the film
temperature. No other wall correction is necessary for this formulation. Method is the most recent implemented
here and believed to be more accurate than other formulations available.
]︀−1/5 0.42
𝑁 𝑢 = 0.446𝑅𝑒0.5 𝑃 𝑟0.35 + 0.528 (6.5 exp(𝑅𝑒/5000))−5 + (0.031𝑅𝑒0.8 )−5
[︀
𝑃𝑟
Parameters
Re [float] Reynolds number with respect to cylinder diameter, [-]
Pr [float] Prandtl number at film temperature, [-]
Returns
Nu [float] Nusselt number with respect to cylinder diameter, [-]

Notes

Developed with test results for water, mixtures of ethylene glycol and water, and air (Pr = 0.7 to 176). Re range
from 2E3 to 9E4. Also presents results for local heat transfer coefficients.
This method applies to both the laminar and turbulent regimes.

References

[1]

Examples

>>> Nu_cylinder_Sanitjai_Goldstein(6071, 0.7)


40.38327083519522

ht.conv_external.Nu_cylinder_Whitaker(Re, Pr, mu=None, muw=None)


Calculates Nusselt number for crossflow across a single tube as shown in [1] at a specified Re and Pr, both
evaluated at the free stream temperature. Recommends a viscosity exponent correction of 0.25, which is applied
only if provided. Also shown in [2].
(︂ )︂0.25
0.5 2/3 𝜇
𝑁 𝑢𝐷 = (0.4𝑅𝑒𝐷 + 0.06𝑅𝑒𝐷 )𝑃 𝑟0.4
𝜇𝑤
Parameters
Re [float] Reynolds number with respect to cylinder diameter, [-]
Pr [float] Prandtl number at free stream temperature, [-]
mu [float, optional] Viscosity of fluid at the free stream temperature [Pa*s]
muw [float, optional] Viscosity of fluid at the wall temperature [Pa*s]
Returns
Nu [float] Nusselt number with respect to cylinder diameter, [-]

1.2. API Reference 69


Heat Transfer Documentation, Release 1.0.3

Notes

Developed considering data from 1 to 1E5 Re, 0.67 to 300 Pr, and range of viscosity ratios from 0.25 to 5.2.
Found experimental data to generally agree with it within 25%.
This method applies to both the laminar and turbulent regimes.

References

[1], [2]

Examples

>>> Nu_cylinder_Whitaker(6071, 0.7)


45.94527461589126

ht.conv_external.Nu_cylinder_Zukauskas(Re, Pr, Prw=None)


Calculates Nusselt number for crossflow across a single tube at a specified Re. Method from [1], also shown
without modification in [2]. This method applies to both the laminar and turbulent regimes.
(︂ )︂1/4
𝑃𝑟
𝑁 𝑢𝐷 = 𝐶𝑅𝑒𝑚 𝑃 𝑟𝑛
𝑃 𝑟𝑠

Parameters
Re [float] Reynolds number with respect to cylinder diameter, [-]
Pr [float] Prandtl number at free stream temperature [-]
Prw [float, optional] Prandtl number at wall temperature, [-]
Returns
Nu [float] Nusselt number with respect to cylinder diameter, [-]

Notes

If Prandtl number at wall are not provided, the Prandtl number correction is not used and left to an outside
function.
n is 0.37 if Pr <= 10; otherwise n is 0.36.
C and m are from the following table. If Re is outside of the ranges shown, the nearest range is used blindly.

Re C m
1-40 0.75 0.4
40-1E3 0.51 0.5
1E3-2E5 0.26 0.6
2E5-1E6 0.076 0.7

70 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

References

[1], [2]

Examples

Example 7.3 in [2], matches.

>>> Nu_cylinder_Zukauskas(7992, 0.707, 0.69)


50.523612661934386

ht.conv_external.Nu_external_cylinder(Re, Pr, Prw=None, mu=None, muw=None, Method=None)


Calculates Nusselt number for crossflow across a single tube at a specified Re and Pr according to the specified
method. Optional parameters are Prw, mu, and muw. This function has eight methods available. The ‘Sanitjai-
Goldstein’ method is the default.
The front of the cyliner is normally always in a laminar regime; whereas the back is turbulent. The proportions
change with Re; all correlations take this into account. For this heat transfer case, there is no separation between
laminar and turbulent methods.
Parameters
Re [float] Reynolds number of fluid with respect to cylinder diameter, [-]
Pr [float] Prandtl number at either the free stream or wall temperature depending on the method,
[-]
Prw [float, optional] Prandtl number at wall temperature, [-]
mu [float, optional] Viscosity of fluid at the free stream temperature [Pa*s]
muw [float, optional] Viscosity of fluid at the wall temperature [Pa*s]
Returns
Nu [float] Nusselt number with respect to cylinder diameter, [-]
Other Parameters
Method [string, optional] A string of the function name to use, as in the dictionary
conv_external_cylinder_methods.

Notes

A comparison of the methods for various Prandtl and Reynolds number ranges is plotted below.

Examples

>>> Nu_external_cylinder(6071, 0.7)


40.38327083519522

ht.conv_external.Nu_external_cylinder_methods(Re, Pr, Prw=None, mu=None, muw=None,


check_ranges=True)
This function returns a list of correlation names for forced convection over an external cylinder.
The preferred method ‘Sanitjai-Goldstein’.
Parameters

1.2. API Reference 71


Heat Transfer Documentation, Release 1.0.3

Comparison of available methods for external convection


Reynolds Number (x) vs. Nusselt Number (y)
Pr = 0.7 Pr = 2 Pr = 6
2000
1000
2000
1000
500

0 0 0
104 104 104
Pr = 0.1 Pr = 0.2 Pr = 0.4

500
1000 Zukauskas
500 Churchill-Bernstein
250 500 Sanitjai-Goldstein
Fand
0 0 0 McAdams
104 104 104 Whitaker
Pr = 25 Pr = 100 Pr = 1000
Perkins-Leppert 1962
20000 Perkins-Leppert 1964
4000
5000
2000 10000

0 0 0
104 104 104

72 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Re [float] Reynolds number of fluid with respect to cylinder diameter, [-]


Pr [float] Prandtl number at either the free stream or wall temperature depending on the method,
[-]
Prw [float, optional] Prandtl number at wall temperature, [-]
mu [float, optional] Viscosity of fluid at the free stream temperature [Pa*s]
muw [float, optional] Viscosity of fluid at the wall temperature [Pa*s]
check_ranges [bool, optional] Whether or not to return only correlations suitable for the pro-
vided data, [-]
Returns
methods [list[str]] List of methods which can be used to calculate Nu with the given inputs

Examples

>>> Nu_external_cylinder_methods(0.72, 1E7)[0]


'Sanitjai-Goldstein'

ht.conv_external.Nu_external_horizontal_plate(Re, Pr, L=None, x=None, Method=None,


laminar_method='Baehr',
turbulent_method='Schlichting',
Re_transition=500000.0)
This function calculates the heat transfer coefficient for external forced convection along a horizontal plate.
Requires at a minimum a flow’s Reynolds and Prandtl numbers Re and Pr. L and x are not used by any correlations
presently, but are included for future support.
If no correlation’s name is provided as Method, the most accurate applicable correlation is selected.
Parameters
Re [float] Reynolds number with respect to bulk properties and plate length, [-]
Pr [float] Prandtl number with respect to bulk properties, [-]
L [float, optional] Length of horizontal plate, [m]
x [float, optional] Length of horizontal plate for specific calculation distance, [m]
Returns
Nu [float] Nusselt number with respect to plate length, [-]
Other Parameters
Method [string, optional] A string of the function name to use, as in the dictionary
conv_horizontal_plate_methods
laminar_method [str, optional] The prefered method for laminar flow, [-]
turbulent_method [str, optional] The prefered method for turbulent flow, [-]
Re_transition [float, optional] The transition Reynolds number for laminar changing to turbu-
lent flow, [-]

1.2. API Reference 73


Heat Transfer Documentation, Release 1.0.3

Examples

Turbulent example

>>> Nu_external_horizontal_plate(Re=1E7, Pr=.7)


11496.952599969829

ht.conv_external.Nu_external_horizontal_plate_methods(Re, Pr, L=None, x=None,


check_ranges=True)
Returns a list of correlation names for calculating Nusselt number for forced convection across a horizontal plate,
supporting both laminar and turbulent regimes.
Parameters
Re [float] Reynolds number with respect to bulk properties and plate length, [-]
Pr [float] Prandtl number with respect to bulk properties, [-]
L [float, optional] Length of horizontal plate, [m]
x [float, optional] Length of horizontal plate for specific calculation distance, [m]
check_ranges [bool, optional] Whether or not to return only correlations suitable for the pro-
vided data, [-]
Returns
methods [list[str]] List of methods which can be used to calculate Nu with the given inputs

Examples

>>> Nu_external_horizontal_plate_methods(Re=1e7, Pr=.7)[0]


'Schlichting'

ht.conv_external.Nu_horizontal_plate_laminar_Baehr(Re, Pr)
Calculates Nusselt number for laminar flow across an isothermal flat plate at a specified Re and Pr, both evaluated
at the bulk temperature. No other wall correction is necessary for this formulation. Four different equations are
used for different Prandtl number ranges.
The equation for the common Prandtl number range is also recommended in [2] and [3].
if Pr < 0.005:

Nu𝐿 = 1.128Re0.5 Pr0.5

if 0.005 < Pr < 0.05:

Nu𝐿 = 1.0Re0.5 Pr0.5

if 0.6 < Pr < 10:

Nu𝐿 = 0.664Re0.5 Pr1/3

if Pr > 10:

Nu𝐿 = 0.678Re0.5 Pr1/3

Parameters
Re [float] Reynolds number with respect to plate length and bulk fluid properties, [-]

74 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Pr [float] Prandtl number at bulk temperature, [-]


Returns
Nu [float] Nusselt number with respect to plate length and bulk temperature, [-]

Notes

Does not take into account the impact of free convection, which can increase the convection substantially.

References

[1], [2], [3]

Examples

>>> Nu_horizontal_plate_laminar_Baehr(1e5, 0.7)


186.4378528752262

ht.conv_external.Nu_horizontal_plate_laminar_Churchill_Ozoe(Re, Pr)
Calculates Nusselt number for laminar flow across an isothermal flat plate at a specified Re and Pr, both evaluated
at the bulk temperature. No other wall correction is necessary for this formulation. A single equation covers all
Prandtl number ranges.
1/2
0.6774𝑅𝑒𝐿 𝑃 𝑟1/3
𝑁 𝑢𝐿 =
[1 + (0.0468/𝑃 𝑟)2/3 ]1/4

Parameters
Re [float] Reynolds number with respect to plate length and bulk fluid properties, [-]
Pr [float] Prandtl number at bulk temperature, [-]
Returns
Nu [float] Nusselt number with respect to plate length and bulk temperature, [-]

Notes

Does not take into account the impact of free convection, which can increase the convection substantially.

References

[1], [2]

1.2. API Reference 75


Heat Transfer Documentation, Release 1.0.3

Examples

>>> Nu_horizontal_plate_laminar_Churchill_Ozoe(1e5, 0.7)


183.08600782591418

ht.conv_external.Nu_horizontal_plate_turbulent_Kreith(Re, Pr)
Calculates Nusselt number for turbulent flow across an isothermal flat plate at a specified Re and Pr, both
evaluated at the bulk temperature. The formulation of Kreith is used.

Nu𝐿 = 0.036Re0.8
𝐿 Pr
2/3

Parameters
Re [float] Reynolds number with respect to plate length and bulk fluid properties, [-]
Pr [float] Prandtl number at bulk temperature, [-]
Returns
Nu [float] Nusselt number with respect to plate length and bulk temperature, [-]

Notes

Does not take into account the impact of free convection, which can increase the convection substantially. Applies
for turbulent flow only.

References

[1]

Examples

>>> Nu_horizontal_plate_turbulent_Kreith(1.03e6, 0.71)


2074.8740070411122

ht.conv_external.Nu_horizontal_plate_turbulent_Schlichting(Re, Pr)
Calculates Nusselt number for turbulent flow across an isothermal flat plate at a specified Re and Pr, both
evaluated at the bulk temperature. The formulation of Schlichting is used, which adds a surface friction term to
a formulation from Petukhov and Popov.

𝐿 Pr
0.037Re0.8
Nu𝐿 = −0.1
1 + 2.443Re𝐿 (Pr2/3 − 1)

Parameters
Re [float] Reynolds number with respect to plate length and bulk fluid properties, [-]
Pr [float] Prandtl number at bulk temperature, [-]
Returns
Nu [float] Nusselt number with respect to plate length and bulk temperature, [-]

76 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Notes

Does not take into account the impact of free convection, which can increase the convection substantially.

References

[1], [2]

Examples

>>> Nu_horizontal_plate_turbulent_Schlichting(1e5, 0.7)


309.620048541267

1.2.8 Free convection to immersed bodies (ht.conv_free_immersed)

ht.conv_free_immersed.Nu_coil_Xin_Ebadian(Pr, Gr, horizontal=False)


Calculates Nusselt number for natural convection around a vertical or horizontal helical coil suspended in a fluid
without forced convection.
For horizontal cases:
0.293
𝑁 𝑢𝐷 = 0.318𝑅𝑎𝐷 , 5 × 103 < 𝑅𝑎 < 1 × 105

For vertical cases:


0.293
𝑁 𝑢𝐷 = 0.290𝑅𝑎𝐷 , 5 × 103 < 𝑅𝑎 < 1 × 105

Parameters
Pr [float] Prandtl number calculated with the film temperature - wall and temperature very far
from the coil average, [-]
Gr [float] Grashof number calculated with the film temperature - wall and temperature very far
from the coil average, and using the outer diameter of the coil [-]
horizontal [bool, optional] Whether the coil is horizontal or vertical, [-]
Returns
Nu [float] Nusselt number using the outer diameter of the coil and the film temperature, [-]

Notes

This correlation is also reviewed in [2].

1.2. API Reference 77


Heat Transfer Documentation, Release 1.0.3

References

[1], [2]

Examples

>>> Nu_coil_Xin_Ebadian(0.7, 2E4, horizontal=False)


4.755689726250451
>>> Nu_coil_Xin_Ebadian(0.7, 2E4, horizontal=True)
5.2148597687849785

ht.conv_free_immersed.Nu_free_horizontal_plate(Pr, Gr, buoyancy, L=None, W=None, Method=None)


This function calculates the heat transfer coefficient for external free convection from a horizontal plate.
Requires at a minimum a fluid’s Prandtl number Pr, and the Grashof number Gr for the system fluid, temperatures,
and geometry.
L and W are not used by any correlations presently, but are included for future support.
If no correlation’s name is provided as Method, the ‘VDI’ correlation is selected.
Parameters
Pr [float] Prandtl number with respect to fluid properties [-]
Gr [float] Grashof number with respect to fluid properties and plate - fluid temperature difference
[-]
buoyancy [bool, optional] Whether or not the plate’s free convection is buoyancy assisted (hot
plate) or not, [-]
L [float, optional] Length of horizontal plate, [m]
W [float, optional] Width of the horizontal plate, [m]
Returns
Nu [float] Nusselt number with respect to plate length, [-]
Other Parameters
Method [string, optional] A string of the function name to use, as in the dictionary
conv_free_horizontal_plate_methods

Examples

Turbulent example

>>> Nu_free_horizontal_plate(5.54, 3.21e8, buoyancy=True)


203.89681224927565

>>> Nu_free_horizontal_plate(5.54, 3.21e8, buoyancy=True, Method='McAdams')


181.73121274384457

ht.conv_free_immersed.Nu_free_horizontal_plate_methods(Pr, Gr, buoyancy, L=None, W=None,


check_ranges=True)
This function returns a list of methods for calculating heat transfer coefficient for external free convection from
a verical plate.

78 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Requires at a minimum a fluid’s Prandtl number Pr, and the Grashof number Gr for the system fluid, temperatures,
and geometry.
L and W are not used by any correlations presently, but are included for future support.
Parameters
Pr [float] Prandtl number with respect to fluid properties [-]
Gr [float] Grashof number with respect to fluid properties and plate - fluid temperature difference
[-]
buoyancy [bool, optional] Whether or not the plate’s free convection is buoyancy assisted (hot
plate) or not, [-]
L [float, optional] Length of horizontal plate, [m]
W [float, optional] Width of the horizontal plate, [m]
check_ranges [bool, optional] Whether or not to return only correlations suitable for the pro-
vided data, [-]
Returns
methods [list[str]] List of methods which can be used to calculate Nu with the given inputs, [-]

Examples

>>> Nu_free_horizontal_plate_methods(0.69, 2.63E9, True)


['VDI', 'McAdams', 'Rohsenow']

ht.conv_free_immersed.Nu_free_vertical_plate(Pr, Gr, buoyancy=None, H=None, W=None,


Method=None)
This function calculates the heat transfer coefficient for external free convection from a verical plate.
Requires at a minimum a fluid’s Prandtl number Pr, and the Grashof number Gr for the system fluid (which
require T and P to obtain).
L and W are not used by any correlations presently, but are included for future support.
If no correlation’s name is provided as Method, the ‘Churchill’ correlation is selected.
Parameters
Pr [float] Prandtl number with respect to fluid properties [-]
Gr [float] Grashof number with respect to fluid properties and plate - fluid temperature difference
[-]
buoyancy [bool, optional] Whether or not the plate’s free convection is buoyancy assisted (hot
plate) or not, [-]
H [float, optional] Height of vertical plate, [m]
W [float, optional] Width of the vertical plate, [m]
Returns
Nu [float] Nusselt number with respect to plate height, [-]
Other Parameters
Method [string, optional] A string of the function name to use; one of (‘Churchill’, ).

1.2. API Reference 79


Heat Transfer Documentation, Release 1.0.3

Examples

Turbulent example

>>> Nu_free_vertical_plate(0.69, 2.63E9, False)


147.16185223770603

ht.conv_free_immersed.Nu_free_vertical_plate_methods(Pr, Gr, H=None, W=None,


check_ranges=True)
This function returns a list of methods for calculating heat transfer coefficient for external free convection from
a verical plate.
Requires at a minimum a fluid’s Prandtl number Pr, and the Grashof number Gr for the system fluid (which
require T and P to obtain).
L and W are not used by any correlations presently, but are included for future support.
Parameters
Pr [float] Prandtl number with respect to fluid properties [-]
Gr [float] Grashof number with respect to fluid properties and plate - fluid temperature difference
[-]
H [float, optional] Height of vertical plate, [m]
W [float, optional] Width of the vertical plate, [m]
check_ranges [bool, optional] Whether or not to return only correlations suitable for the pro-
vided data, [-]
Returns
methods [list[str]] List of methods which can be used to calculate Nu with the given inputs, [-]

Examples

>>> Nu_free_vertical_plate_methods(0.69, 2.63E9)


['Churchill']

ht.conv_free_immersed.Nu_horizontal_cylinder(Pr, Gr, Method=None)


This function handles choosing which horizontal cylinder free convection correlation is used. Generally this
is used by a helper class, but can be used directly. Will automatically select the correlation to use if none is
provided; returns None if insufficient information is provided.
Preferred functions are ‘Morgan’ when discontinuous results are acceptable and ‘Churchill-Chu’ otherwise.
Parameters
Pr [float] Prandtl number with respect to film temperature [-]
Gr [float] Grashof number with respect to cylinder diameter, [-]
Returns
Nu [float] Nusselt number with respect to cylinder diameter, [-]
Other Parameters
Method [string, optional] A string of the function name to use, as in the dictionary horizon-
tal_cylinder_correlations

80 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Notes

All fluid properties should be evaluated at the film temperature, the average between the outer surface tempera-
ture of the solid, and the fluid temperature far away from the heat transfer interface - normally the same as the
temperature before any cooling or heating occurs.

𝑇𝑓 = (𝑇surface + 𝑇∞ )/2

Examples

>>> Nu_horizontal_cylinder(0.72, 1E7)


24.864192615468973

ht.conv_free_immersed.Nu_horizontal_cylinder_Churchill_Chu(Pr, Gr)
Calculates Nusselt number for natural convection around a horizontal cylinder according to the Churchill-Chu
[1] correlation, also presented in [2]. Cylinder must be isothermal; an alternate expression exists for constant
heat flux.
[︃ ]︃2
1/6
0.387𝑅𝑎𝐷
𝑁 𝑢𝐷 = 0.60 +
[1 + (0.559/𝑃 𝑟)9/16 ]8/27

Parameters
Pr [float] Prandtl number [-]
Gr [float] Grashof number with respect to cylinder diameter, [-]
Returns
Nu [float] Nusselt number with respect to cylinder diameter, [-]

Notes

Although transition from laminar to turbulent is discrete in reality, this equation provides a smooth transition
in value from laminar to turbulent. Checked with the original source, which has its powers unsimplified but is
equivalent.
[1] recommends 1E-5 as the lower limit for Ra, but no upper limit. [2] suggests an upper limit of 1E12.

References

[1], [2]

Examples

From [2], Example 9.2, matches:

>>> Nu_horizontal_cylinder_Churchill_Chu(0.69, 2.63E9)


139.13493970073597

1.2. API Reference 81


Heat Transfer Documentation, Release 1.0.3

ht.conv_free_immersed.Nu_horizontal_cylinder_Kuehn_Goldstein(Pr, Gr)
Calculates Nusselt number for natural convection around a horizontal cylinder according to the Kuehn-Goldstein
[1] correlation, also shown in [2]. Cylinder must be isothermal.
⎡ ⎤
⎢ ⎥
2 ⎢ 2 ⎥
= ln ⎢1 + [︃
⎢ ⎥
𝑁 𝑢𝐷 ]︃1/15 ⎥
⎢ {︂ [︁ )︀3/5 ]︁−5/12 }︂15 ⎥
1/3
1 + 0.559
(︀
0.518𝑅𝑎0.25 + (0.1𝑅𝑎𝐷 ) 15
⎣ ⎦
𝐷 𝑃𝑟

Parameters
Pr [float] Prandtl number with respect to film temperature [-]
Gr [float] Grashof number with respect to cylinder diameter, [-]
Returns
Nu [float] Nusselt number with respect to cylinder diameter, [-]

Notes

[1] suggests this expression is valid for all cases except low-Pr fluids. [2] suggests no restrictions.

References

[1], [2]

Examples

>>> Nu_horizontal_cylinder_Kuehn_Goldstein(0.69, 2.63E9)


122.99323525628186

ht.conv_free_immersed.Nu_horizontal_cylinder_Morgan(Pr, Gr)
Calculates Nusselt number for natural convection around a horizontal cylinder according to the Morgan [1] cor-
relations, a product of a very large review of the literature. Sufficiently common as to be shown in [2]. Cylinder
must be isothermal.

𝑁 𝑢𝐷 = 𝐶𝑅𝑎𝑛𝐷

Gr min Gr max C n
10E-10 10E-2 0.675 0.058
10E-2 10E2 1.02 0.148
10E2 10E4 0.850 0.188
10E4 10E7 0.480 0.250
10E7 10E12 0.125 0.333

Parameters
Pr [float] Prandtl number with respect to film temperature [-]
Gr [float] Grashof number with respect to cylinder diameter, [-]
Returns

82 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Nu [float] Nusselt number with respect to cylinder diameter, [-]

Notes

Most comprehensive review with a new proposed equation to date. Discontinuous among the jumps in range.
Blindly runs outside if upper and lower limits without warning.

References

[1], [2]

Examples

>>> Nu_horizontal_cylinder_Morgan(0.69, 2.63E9)


151.3881997228419

ht.conv_free_immersed.Nu_horizontal_cylinder_methods(Pr, Gr, check_ranges=True)


This function returns a list of correlation names for free convetion to a horizontal cylinder.
Preferred functions are ‘Morgan’ when discontinuous results are acceptable and ‘Churchill-Chu’ otherwise.
Parameters
Pr [float] Prandtl number with respect to film temperature [-]
Gr [float] Grashof number with respect to cylinder diameter, [-]
check_ranges [bool, optional] Whether or not to return only correlations suitable for the pro-
vided data, [-]
Returns
methods [list[str]] List of methods which can be used to calculate Nu with the given inputs

Examples

>>> Nu_horizontal_cylinder_methods(0.72, 1E7)[0]


'Morgan'

ht.conv_free_immersed.Nu_horizontal_plate_McAdams(Pr, Gr, buoyancy=True)


Calculates the Nusselt number for natural convection above a horizontal plate according to the McAdams [1]
correlations. The plate must be isothermal. Four different equations are used, two each for laminar and turbulent;
the two sets of correlations are required because if the plate is hot, buoyancy lifts the fluid off the plate and
enhances free convection whereas if the plate is cold, the cold fluid above it settles on it and decreases the free
convection.
Parameters
Pr [float] Prandtl number with respect to fluid properties [-]
Gr [float] Grashof number with respect to fluid properties and plate - fluid temperature difference
[-]
buoyancy [bool, optional] Whether or not the plate’s free convection is buoyancy assisted (hot
plate) or not, [-]
Returns

1.2. API Reference 83


Heat Transfer Documentation, Release 1.0.3

Nu [float] Nusselt number with respect to length, [-]

References

[1]

Examples

>>> Nu_horizontal_plate_McAdams(5.54, 3.21e8, buoyancy=True)


181.73121274384457
>>> Nu_horizontal_plate_McAdams(5.54, 3.21e8, buoyancy=False)
55.44564799362829

>>> Nu_horizontal_plate_McAdams(.01, 3.21e8, buoyancy=True)


22.857041558492334
>>> Nu_horizontal_plate_McAdams(.01, 3.21e8, buoyancy=False)
11.428520779246167

ht.conv_free_immersed.Nu_horizontal_plate_Rohsenow(Pr, Gr, buoyancy=True)


Calculates the Nusselt number for natural convection above a horizontal plate according to the Rohsenow, Hart-
nett, and Cho (1998) [1] correlations. The plate must be isothermal. Three different equations are used, one
each for laminar and turbulent for the heat transfer happening at upper surface case and one for the case of heat
transfer happening at the lower surface.
The lower surface correlation is recommened for the laminar flow regime. The two different sets of correlations
are required because if the plate is hot, buoyancy lifts the fluid off the plate and enhances free convection whereas
if the plate is cold, the cold fluid above it settles on it and decreases the free convection.
Parameters
Pr [float] Prandtl number with respect to fluid properties [-]
Gr [float] Grashof number with respect to fluid properties and plate - fluid temperature difference
[-]
buoyancy [bool, optional] Whether or not the plate’s free convection is buoyancy assisted (hot
plate) or not, [-]
Returns
Nu [float] Nusselt number with respect to length, [-]

Notes

The characteristic length suggested for use is as follows, with a and b being the length and width of the plate.

𝑎𝑏
𝐿=
2(𝑎 + 𝑏)

84 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

References

[1]

Examples

>>> Nu_horizontal_plate_Rohsenow(5.54, 3.21e8, buoyancy=True)


175.91054716322836
>>> Nu_horizontal_plate_Rohsenow(5.54, 3.21e8, buoyancy=False)
35.95799244863986

ht.conv_free_immersed.Nu_horizontal_plate_VDI(Pr, Gr, buoyancy=True)


Calculates the Nusselt number for natural convection above a horizontal plate according to the VDI [1] correla-
tions. The plate must be isothermal. Three different equations are used, one each for laminar and turbulent for the
heat transfer happening at upper surface case and one for the case of heat transfer happening at the lower surface.
The lower surface correlation is recommened for the laminar flow regime. The two different sets of correlations
are required because if the plate is hot, buoyancy lifts the fluid off the plate and enhances free convection whereas
if the plate is cold, the cold fluid above it settles on it and decreases the free convection.
Parameters
Pr [float] Prandtl number with respect to fluid properties [-]
Gr [float] Grashof number with respect to fluid properties and plate - fluid temperature difference
[-]
buoyancy [bool, optional] Whether or not the plate’s free convection is buoyancy assisted (hot
plate) or not, [-]
Returns
Nu [float] Nusselt number with respect to length, [-]

Notes

The characteristic length suggested for use is as follows, with a and b being the length and width of the plate.

𝑎𝑏
𝐿=
2(𝑎 + 𝑏)

The buoyancy enhanced cases are from [2]; the other is said to be from [3], although the equations there not quite
the same and do not include the Prandtl number correction.

References

[1], [2], [3]

1.2. API Reference 85


Heat Transfer Documentation, Release 1.0.3

Examples

>>> Nu_horizontal_plate_VDI(5.54, 3.21e8, buoyancy=True)


203.89681224927565
>>> Nu_horizontal_plate_VDI(5.54, 3.21e8, buoyancy=False)
39.16864971535617

ht.conv_free_immersed.Nu_sphere_Churchill(Pr, Gr)
Calculates Nusselt number for natural convection around a sphere according to the Churchill [1] correlation.
Sphere must be isothermal.
1/4 }︂1/12
7.44 × 10−8 𝑅𝑎
{︂
0.589𝑅𝑎𝐷
𝑁 𝑢𝐷 = 2 + [︀ ]︀4/9 · 1 +
1 + (0.469/𝑃 𝑟)9/16 [1 + (0.469/𝑃 𝑟)9/16 ]16/9

Parameters
Pr [float] Prandtl number [-]
Gr [float] Grashof number [-]
Returns
Nu [float] Nusselt number, [-]

Notes

Although transition from laminar to turbulent is discrete in reality, this equation provides a smooth transition in
value from laminar to turbulent. Checked with the original source.
Good for Ra < 1E13. Limit of Nu is 2 at low Grashof numbers.

References

[1]

Examples

>>> Nu_sphere_Churchill(.7, 1E7)


25.670869440317578

ht.conv_free_immersed.Nu_vertical_cylinder(Pr, Gr, L=None, D=None, Method=None)


This function handles choosing which vertical cylinder free convection correlation is used. Generally this is used
by a helper class, but can be used directly. Will automatically select the correlation to use if none is provided;
returns None if insufficient information is provided.
Preferred functions are ‘Popiel & Churchill’ for fully defined geometries, and ‘McAdams, Weiss & Saunders’
otherwise.
Parameters
Pr [float] Prandtl number [-]
Gr [float] Grashof number with respect to cylinder height [-]
L [float, optional] Length of vertical cylinder, [m]
D [float, optional] Diameter of cylinder, [m]

86 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Returns
Nu [float] Nusselt number, [-]
Other Parameters
Method [string, optional] A string of the function name to use, as in the dictionary verti-
cal_cylinder_correlations

Examples

>>> Nu_vertical_cylinder(0.72, 1E7)


30.562236756513943

ht.conv_free_immersed.Nu_vertical_cylinder_Al_Arabi_Khamis(Pr, Gr, L, D, turbulent=None)


Calculates Nusselt number for natural convection around a vertical isothermal cylinder according to [1], also as
presented in [2] and [3].

0.25 1/12
𝑁 𝑢𝐻 = 2.9𝑅𝑎𝐻 /𝐺𝑟𝐷 , 9.88 × 107 ≤ 𝑅𝑎𝐻 ≤ 2.7 × 109

0.333 1/12
𝑁 𝑢𝐻 = 0.47𝑅𝑎𝐻 /𝐺𝑟𝐷 , 2.7 × 109 ≤ 𝑅𝑎𝐻 ≤ 2.95 × 1010
Parameters
Pr [float] Prandtl number [-]
Gr [float] Grashof number with respect to cylinder height [-]
L [float] Length of vertical cylinder, [m]
D [float] Diameter of cylinder, [m]
turbulent [bool or None, optional] Whether or not to force the correlation to return the turbulent
result; will return the laminar regime if False; leave as None for automatic selection, [-]
Returns
Nu [float] Nusselt number, [-]

Notes

For air. Local Nusselt number results also given in [1]. D from 12.75 to 51 mm; H from 300 to 2000 mm.
Temperature kept constant by steam condensing.
If outside of range, no warning is given. Applies for range of:

1.08 × 104 ≤ 𝐺𝑟𝐷 ≤ 6.9 × 105

References

[1], [2], [3]

1.2. API Reference 87


Heat Transfer Documentation, Release 1.0.3

Examples

>>> Nu_vertical_cylinder_Al_Arabi_Khamis(.71, 2E10, 10, 1)


280.39793209114765

ht.conv_free_immersed.Nu_vertical_cylinder_Carne_Morgan(Pr, Gr, turbulent=None)


Calculates Nusselt number for natural convection around a vertical isothermal cylinder according to the results
of [1] correlated by [2], as presented in [3] and [4].

𝑁 𝑢𝐻 = 1.07𝑅𝑎0.28 6
𝐻 , 2 × 10 < 𝑅𝑎 < 2 × 10
8

𝑁 𝑢𝐻 = 0.152𝑅𝑎0.38 8
𝐻 , 2 × 10 < 𝑅𝑎 < 2 × 10
11

Parameters
Pr [float] Prandtl number [-]
Gr [float] Grashof number [-]
turbulent [bool or None, optional] Whether or not to force the correlation to return the turbulent
result; will return the laminar regime if False; leave as None for automatic selection
Returns
Nu [float] Nusselt number, [-]

Notes

Cylinder of diameters 0.475 cm to 7.62 cm, L/D from 8 to 127. Isothermal boundary condition was assumed,
but not verified. Transition between ranges is not smooth. If outside of range, no warning is given. The higher
range of [1] is not shown in [3], and the formula for the first is actually for the second in [3].

References

[1], [2], [3], [4]

Examples

>>> Nu_vertical_cylinder_Carne_Morgan(.7, 2E8)


204.31470629065677

ht.conv_free_immersed.Nu_vertical_cylinder_Eigenson_Morgan(Pr, Gr, turbulent=None)


Calculates Nusselt number for natural convection around a vertical isothermal cylinder according to the results
of [1] correlated by [2], presented in [3] and in more detail in [4].

𝑁 𝑢𝐻 = 0.48𝑅𝑎0.25 9
𝐻 , 10 < 𝑅𝑎

𝑁 𝑢𝐻 = 51.5 + 0.0000726𝑅𝑎0.63 9
𝐻 , 10 < 𝑅𝑎 < 1.69 × 10
10

1/3
𝑁 𝑢𝐻 = 0.148𝑅𝑎𝐻 − 127.6, 1.69 × 1010 < 𝑅𝑎
Parameters
Pr [float] Prandtl number [-]
Gr [float] Grashof number [-]

88 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

turbulent [bool or None, optional] Whether or not to force the correlation to return the turbulent
result; will return the laminar regime if False; leave as None for automatic selection
Returns
Nu [float] Nusselt number, [-]

Notes

Author presents results as appropriate for both flat plates and cylinders. Height of 2.5 m with diameters of 2.4,
7.55, 15, 35, and 50 mm. Another experiment of diameter 58 mm and length of 6.5 m was considered. Cylinder
of diameters 0.475 cm to 7.62 cm, L/D from 8 to 127.Transition between ranges is not smooth. If outside of
range, no warning is given. Formulas are presented similarly in [3] and [4], but only [4] shows the transition
formula.

References

[1], [2], [3], [4]

Examples

>>> Nu_vertical_cylinder_Eigenson_Morgan(0.7, 2E10)


230.55946525499715

ht.conv_free_immersed.Nu_vertical_cylinder_Griffiths_Davis_Morgan(Pr, Gr, turbulent=None)


Calculates Nusselt number for natural convection around a vertical isothermal cylinder according to the results
of [1] correlated by [2], as presented in [3] and [4].

𝑁 𝑢𝐻 = 0.67𝑅𝑎0.25 7
𝐻 , 10 < 𝑅𝑎 < 10
9

𝑁 𝑢𝐻 = 0.0782𝑅𝑎0.357
𝐻 , 109 < 𝑅𝑎 < 1011
Parameters
Pr [float] Prandtl number [-]
Gr [float] Grashof number [-]
turbulent [bool or None, optional] Whether or not to force the correlation to return the turbulent
result; will return the laminar regime if False; leave as None for automatic selection
Returns
Nu [float] Nusselt number, [-]

Notes

Cylinder of diameter 17.43 cm, length from 4.65 to 263.5 cm. Air as fluid. Transition between ranges is not
smooth. If outside of range, no warning is given.

1.2. API Reference 89


Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3], [4]

Examples

>>> Nu_vertical_cylinder_Griffiths_Davis_Morgan(.7, 2E10)


327.6230596100138

ht.conv_free_immersed.Nu_vertical_cylinder_Hanesian_Kalish_Morgan(Pr, Gr)
Calculates Nusselt number for natural convection around a vertical isothermal cylinder according to the results
of [1] correlated by [2], also as presented in [3] and [4].
𝑁 𝑢𝐻 = 0.48𝑅𝑎0.23 6
𝐻 , 10 < 𝑅𝑎 < 10
8

Parameters
Pr [float] Prandtl number [-]
Gr [float] Grashof number [-]
Returns
Nu [float] Nusselt number, [-]

Notes

For air and fluoro-carbons. If outside of range, no warning is given. Laminar range only!

References

[1], [2], [3], [4]

Examples

>>> Nu_vertical_cylinder_Hanesian_Kalish_Morgan(.7, 1E7)


18.014150492696604

ht.conv_free_immersed.Nu_vertical_cylinder_Jakob_Linke_Morgan(Pr, Gr, turbulent=None)


Calculates Nusselt number for natural convection around a vertical isothermal cylinder according to the results
of [1] correlated by [2], as presented in [3] and [4].
𝑁 𝑢𝐻 = 0.555𝑅𝑎0.25 4
𝐻 , 10 < 𝑅𝑎 < 10
8

1/3
𝑁 𝑢𝐻 = 0.129𝑅𝑎𝐻 , 108 < 𝑅𝑎 < 1012
Parameters
Pr [float] Prandtl number [-]
Gr [float] Grashof number [-]
turbulent [bool or None, optional] Whether or not to force the correlation to return the turbulent
result; will return the laminar regime if False; leave as None for automatic selection
Returns
Nu [float] Nusselt number, [-]

90 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Notes

Cylinder of diameter 3.5 cm, length from L/D = 4.3. Air as fluid. Transition between ranges is not smooth. If
outside of range, no warning is given. Results are presented rounded in [4], and the second range is not shown
in [3].

References

[1], [2], [3], [4]

Examples

>>> Nu_vertical_cylinder_Jakob_Linke_Morgan(.7, 2E10)


310.90835207860454

ht.conv_free_immersed.Nu_vertical_cylinder_Kreith_Eckert(Pr, Gr, turbulent=None)


Calculates Nusselt number for natural convection around a vertical isothermal cylinder according to the results
of [1] correlated by [2], also as presented in [3], [4], and [5].

𝑁 𝑢𝐻 = 0.555𝑅𝑎0.25 5
𝐻 , 10 < 𝑅𝑎 < 10
9

𝑁 𝑢𝐻 = 0.021𝑅𝑎0.4 9
𝐻 , 10 < 𝑅𝑎 < 10
12

Parameters
Pr [float] Prandtl number [-]
Gr [float] Grashof number [-]
turbulent [bool or None, optional] Whether or not to force the correlation to return the turbulent
result; will return the laminar regime if False; leave as None for automatic selection
Returns
Nu [float] Nusselt number, [-]

Notes

Transition between ranges is not smooth. If outside of range, no warning is given.

References

[1], [2], [3], [4], [5]

Examples

>>> Nu_vertical_cylinder_Kreith_Eckert(.7, 2E10)


240.25393473033196

1.2. API Reference 91


Heat Transfer Documentation, Release 1.0.3

ht.conv_free_immersed.Nu_vertical_cylinder_McAdams_Weiss_Saunders(Pr, Gr, turbulent=None)


Calculates Nusselt number for natural convection around a vertical isothermal cylinder according to the results
of [1] and [2] correlated by [3], as presented in [4], [5], and [6].
𝑁 𝑢𝐻 = 0.59𝑅𝑎0.25 4
𝐻 , 10 < 𝑅𝑎 < 10
9

1/3.
𝑁 𝑢𝐻 = 0.13𝑅𝑎𝐻 , 109 < 𝑅𝑎 < 1012
Parameters
Pr [float] Prandtl number [-]
Gr [float] Grashof number [-]
turbulent [bool or None, optional] Whether or not to force the correlation to return the turbulent
result; will return the laminar regime if False; leave as None for automatic selection
Returns
——-
Nu [float] Nusselt number, [-]

Notes

Transition between ranges is not smooth. If outside of range, no warning is given. For ranges under 10^4, a
graph is provided, not included here.

References

[1], [2], [3], [4], [5], [6]

Examples

>>> Nu_vertical_cylinder_McAdams_Weiss_Saunders(.7, 2E10)


313.31849434277973

ht.conv_free_immersed.Nu_vertical_cylinder_Popiel_Churchill(Pr, Gr, L, D)
Calculates Nusselt number for natural convection around a vertical isothermal cylinder according to [1], also
presented in [2].
[︂ ]︂𝐶
𝑁𝑢 0.5 −0.25 𝐿
= 1 + 𝐵 32 𝐺𝑟𝐿
𝑁 𝑢𝐿,𝑓 𝑝 𝐷
𝐵 = 0.0571322 + 0.20305𝑃 𝑟−0.43
𝐶 = 0.9165 − 0.0043𝑃 𝑟0.5 + 0.01333 ln 𝑃 𝑟 + 0.0004809/𝑃 𝑟
Parameters
Pr [float] Prandtl number [-]
Gr [float] Grashof number with respect to cylinder height [-]
L [float] Length of vertical cylinder, [m]
D [float] Diameter of cylinder, [m]
Returns
Nu [float] Nusselt number, [-]

92 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Notes

For 0.01 < Pr < 100. Requires a vertical flat plate correlation. Both [2], [3] present a power of 2 instead of 0.5
on the 32 in the equation, but the original has the correct form.

References

[1], [2], [3]

Examples

>>> Nu_vertical_cylinder_Popiel_Churchill(0.7, 1E10, 2.5, 1)


228.89790055149896

ht.conv_free_immersed.Nu_vertical_cylinder_Touloukian_Morgan(Pr, Gr, turbulent=None)


Calculates Nusselt number for natural convection around a vertical isothermal cylinder according to the results
of [1] correlated by [2], as presented in [3] and [4].

𝑁 𝑢𝐻 = 0.726𝑅𝑎0.25 8
𝐻 , 2 × 10 < 𝑅𝑎 < 4 × 10
10

𝑁 𝑢𝐻 = 0.0674(𝐺𝑟𝐻 𝑃 𝑟1.29 )1/3 , 4 × 1010 < 𝑅𝑎 < 9 × 1011


Parameters
Pr [float] Prandtl number [-]
Gr [float] Grashof number [-]
turbulent [bool or None, optional] Whether or not to force the correlation to return the turbulent
result; will return the laminar regime if False; leave as None for automatic selection
Returns
Nu [float] Nusselt number, [-]

Notes

Cylinder of diameters 2.75 inch, with heights of 6, 18, and 36.25 inch. Temperature was controlled via multiple
separately controlled heating sections. Fluids were water and ethylene-glycol. Transition between ranges is
not smooth. If outside of range, no warning is given. [2], [3], and [4] are in complete agreement about this
formulation.

References

[1], [2], [3], [4]

1.2. API Reference 93


Heat Transfer Documentation, Release 1.0.3

Examples

>>> Nu_vertical_cylinder_Touloukian_Morgan(.7, 2E10)


249.72879961097854

ht.conv_free_immersed.Nu_vertical_cylinder_methods(Pr, Gr, L=None, D=None, check_ranges=True)


This function returns a list of correlation names for free convetion to a vertical cylinder.
The functions returned are ‘Popiel & Churchill’ for fully defined geometries, and ‘McAdams, Weiss & Saunders’
otherwise.
Parameters
Pr [float] Prandtl number [-]
Gr [float] Grashof number with respect to cylinder height [-]
L [float, optional] Length of vertical cylinder, [m]
D [float, optional] Diameter of cylinder, [m]
check_ranges [bool, optional] Whether or not to return only correlations suitable for the pro-
vided data, [-]
Returns
methods [list[str]] List of methods which can be used to calculate Nu with the given inputs

Examples

>>> Nu_vertical_cylinder_methods(0.72, 1E7)[0]


'McAdams, Weiss & Saunders'

ht.conv_free_immersed.Nu_vertical_plate_Churchill(Pr, Gr)
Calculates Nusselt number for natural convection around a vertical plate according to the Churchill-Chu [1]
correlation, also presented in [2]. Plate must be isothermal; an alternate expression exists for constant heat flux.
[︃ ]︃2
1/6
0.387𝑅𝑎𝐿
𝑁 𝑢𝐿 = 0.825 +
[1 + (0.492/𝑃 𝑟)9/16 ]8/27

Parameters
Pr [float] Prandtl number [-]
Gr [float] Grashof number [-]
Returns
Nu [float] Nusselt number with respect to height, [-]

94 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Notes

Although transition from laminar to turbulent is discrete in reality, this equation provides a smooth transition in
value from laminar to turbulent. Checked with the original source.
Can be applied to vertical cylinders as well, subject to the criteria below:

𝐷 35
≥ 1/4
𝐿 𝐺𝑟𝐿

References

[1], [2]

Examples

From [2], Example 9.2, matches:

>>> Nu_vertical_plate_Churchill(0.69, 2.63E9)


147.16185223770603

1.2.9 Free convection to enclosed bodies (ht.conv_free_enclosed)

ht.conv_free_enclosed.Nu_Nusselt_Rayleigh_Hollands(Pr, Gr, buoyancy=True, Rac=1708)


Calculates the Nusselt number for natural convection between two theoretical flat horizontal plates using the
Hollands [1] correlation recommended in [2]. This correlation supports different aspect ratios, so the plates can
be real, finite objects and have their heat transfer accurately modeled. The influence comes from the Rac term,
which should be calculated separately, using Rac_Nusselt_Rayleigh or Rac_Nusselt_Rayleigh_disk.

]︂*
⎡ (︃ )︃1−ln(Ra1/5 /𝑘2 ) ⎤* [︃(︂ )︂1/3 ]︃*
Ra 1/3
Ra
[︂
1708 ⎣
Nu = 1 + 1 − 𝑘1 + 2 ⎦ + −1
Ra 𝑘2 5803

1.44
𝑘1 =
1 + 0.018/𝑃 𝑟 + 0.00136/𝑃 𝑟2
𝑘2 = 75 exp(1.5Pr−0.5 )
Parameters
Pr [float] Prandtl number with respect to fluid properties [-]
Gr [float] Grashof number with respect to fluid properties and plate - plate temperature differ-
ence [-]
buoyancy [bool, optional] Whether or not the plate’s free convection is buoyancy assisted (hot
plate) or not, [-]
Rac [float, optional] Critical Rayleigh number, [-]
Returns
Nu [float] Nusselt number with respect to height between the two plates, [-]

1.2. API Reference 95


Heat Transfer Documentation, Release 1.0.3

Notes

For 𝑅𝑎 < 𝑅𝑎𝑐 , Nu = 1; for cases not assited by buoyancy, Nu is also 1.

References

[1], [2]

Examples

>>> Nu_Nusselt_Rayleigh_Hollands(5.54, 3.21e8, buoyancy=True)


69.02668649510

Plates - 1 m height, 2 m long, 0.2 m long vs a 1 m^3 cube

>>> Nu_Nusselt_Rayleigh_Hollands(.7, 3.21e6, buoyancy=True, Rac=Rac_Nusselt_


˓→Rayleigh(H=1, L=2, W=.2, insulated=False))

4.666249131876

>>> Nu_Nusselt_Rayleigh_Hollands(.7, 3.21e6, buoyancy=True, Rac=Rac_Nusselt_


˓→Rayleigh(H=1, L=1, W=1, insulated=False))

8.786362614129

ht.conv_free_enclosed.Nu_Nusselt_Rayleigh_Holling_Herwig(Pr, Gr, buoyancy=True)


Calculates the Nusselt number for natural convection between two theoretical flat horizontal plates. The height
between the plates is infinite, and one of the other dimensions of the plates is much larger than the other.
This correlation is for the horizontal plate Rayleigh-Benard classic heat transfer problem, not for real finite
geometry plates.
This model is a non-linear equation which is solved numerically. The model can calculate Nu for Ra ranges
between 350 and larger numbers; [1] recommends 105 < 𝑅𝑎 < 1015 .

𝑅𝑎1/3
Nu = 1.323
[0.05 ln( 0.078
16 𝑅𝑎 ) + 2𝐷]4/3

14.94
𝐷=− + 3.43
𝑅𝑎0.25
Parameters
Pr [float] Prandtl number with respect to fluid properties [-]
Gr [float] Grashof number with respect to fluid properties and plate - plate temperature differ-
ence [-]
buoyancy [bool, optional] Whether or not the plate’s free convection is buoyancy assisted (hot
plate) or not, [-]
Returns
Nu [float] Nusselt number with respect to height between the two plates, [-]

96 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Notes

A range of calculated values are provided in [1]; they all match the results of this function. This model is
recommended in [2].
For 𝑅𝑎 < 1708, Nu = 1; for cases not assited by buoyancy, Nu is also 1.
No success has been found finding an analytical solution in the major CAS packages, but the nonlinear function
is in fact a function of one variable; this means a pade or chebyshev expansion could be performed.

References

[1], [2]

Examples

>>> Nu_Nusselt_Rayleigh_Holling_Herwig(5.54, 3.21e8, buoyancy=True)


77.54656801896913

ht.conv_free_enclosed.Nu_Nusselt_Rayleigh_Probert(Pr, Gr, buoyancy=True)


Calculates the Nusselt number for natural convection between two theoretical flat plates. The height between the
plates is infinite, and one of the other dimensions of the plates is much larger than the other.
This correlation is for the horizontal plate Rayleigh-Benard classic heat transfer problem, not for real finite
geometry plates.
Two sets of equations are used.
For the laminar regime 1708 < Ra ≤ 2.2 × 104 :

Nu = 0.208(Ra)0.25

For the turbulent regime 2.2 × 104 < Ra:

Nu = 0.092(Ra)1/3

Parameters
Pr [float] Prandtl number with respect to fluid properties [-]
Gr [float] Grashof number with respect to fluid properties and plate - plate temperature differ-
ence [-]
buoyancy [bool, optional] Whether or not the plate’s free convection is buoyancy assisted (hot
plate) or not, [-]
Returns
Nu [float] Nusselt number with respect to height between the two plates, [-]

1.2. API Reference 97


Heat Transfer Documentation, Release 1.0.3

Notes

This model is recommended in [2] as a rough model.


For 𝑅𝑎 < 1708, Nu = 1; for cases not assited by buoyancy, Nu is also 1.

References

[1], [2]

Examples

>>> Nu_Nusselt_Rayleigh_Probert(5.54, 3.21e8, buoyancy=True)


111.46181048289132

ht.conv_free_enclosed.Nu_Nusselt_vertical_Thess(Pr, Gr, H=None, L=None)


Calculates the Nusselt number for natural convection between two theoretical vertical flat plates using the corre-
lation by Thess [1] in [1]. This is a variant on the horizontal Rayleigh-Benard classic heat transfer problem. This
correlation supports different aspect ratios, so the plates can be real, finite objects and have their heat transfer
accurately modeled. The recommended range of the correlation is H/L < 80.
For 1e4 < Ra < 1e7:
(︂ )︂−0.25
𝐻
Nu = 0.42𝑃 𝑟 0.012
𝑅𝑎0.25
𝐿

For 1e7 < Ra > 1e9 (or when geometry is unknown):

Nu = 0.049𝑅𝑎0.33

Parameters
Pr [float] Prandtl number with respect to fluid properties [-]
Gr [float] Grashof number with respect to fluid properties and plate - plate temperature differ-
ence [-]
H [float, optional] Height of vertical plate, [m]
L [float, optional] Length of vertical plate, [m]
Returns
Nu [float] Nusselt number with respect to distance between the two plates, [-]

References

[1]

98 Chapter 1. Introduction
Heat Transfer Documentation, Release 1.0.3

Examples

>>> Nu_Nusselt_vertical_Thess(.7, 3.21e6)


6.112587569602785

>>> Nu_Nusselt_vertical_Thess(.7, 3.21e6, L=10, H=1)


28.79328626041646

ht.conv_free_enclosed.Nu_vertical_helical_coil_Ali(Pr, Gr)
Calculates Nusselt number for natural convection around a vertical helical coil inside a tank or other vessel
according to the Ali [1] correlation.
0.301
𝑁 𝑢𝐿 = 0.555𝐺𝑟𝐿 𝑃 𝑟0.314

Parameters
Pr [float] Prandtl number of the fluid surrounding the coil with properties evaluated at bulk
conditions or as described in the notes [-]
Gr [float] Prandtl number of the fluid surrounding the coil with properties evaluated at bulk
conditions or as described in the notes (for the two temperatures, use the average coil fluid
temperature and the temperature of the fluid outside the coil) [-]
Returns
Nu [float] Nusselt number with respect to the total length of the helical coil (and bulk thermal
conductivity), [-]

Notes

In [1], the temperature at which the fluid surrounding the coil’s properties were evaluated at was calculated in an
unusual fashion. The average temperature of the fluid inside the coil (𝑇𝑖𝑛 + 𝑇𝑜𝑢𝑡 )/2 is averaged with the fluid
outside the coil’s temperature.
The correlation is valid for Prandtl numbers between 4.4 and 345, and tank diameter/coil outer diameter ratios
between 10 and 30.

References

[1]

Examples

>>> Nu_vertical_helical_coil_Ali(4.4, 1E11)


1808.5774997297106

ht.conv_free_enclosed.Nu_vertical_helical_coil_Prabhanjan_Rennie_Raghavan(Pr, Gr)
Calculates Nusselt number for natural convection around a vertical helical coil inside a tank or other vessel
according to the Prabhanjan, Rennie, and Raghavan [1] correlation.
0.3421
𝑁 𝑢𝐻 = 0.0749Ra𝐻

The range of Rayleigh numbers is as follows:

9 × 109 < Ra < 4 × 1011

1.2. API Reference 99


Heat Transfer Documentation, Release 1.0.3

Parameters
Pr [float] Prandtl number calculated with the film temperature - wall and temperature very far
from the coil average, [-]
Gr [float] Grashof number calculated with the film temperature - wall and temperature very far
from the coil average, and using the total height of the coil [-]
Returns
Nu [float] Nusselt number using the total height of the coil and the film temperature, [-]

Notes

[1] also has several other equations using different characteristic lengths.

References

[1]

Examples

>>> Nu_vertical_helical_coil_Prabhanjan_Rennie_Raghavan(4.4, 1E11)


720.6211067718227

ht.conv_free_enclosed.Rac_Nusselt_Rayleigh(H, L, W, insulated=True)
Calculates the critical Rayleigh number for free convection to begin in the Nusselt-Rayleigh parallel horizontal
plate scenario. There are actually two cases - one for the top plate to be insulated (adiabatic) and the other where
it has infinite thermal conductivity/is infinitely thin or not present (perfectly conducting). All real cases will lie
between the two.
Parameters
H [float] Distance between the two plates, [m]
L [float] Length of the plates, [m]
W [float] Width of the plates, [m]
insulated [bool, optional] Whether the top plate is insulated or uninsulated, [-]
Returns
Rac [float] Critical Rayleigh number, [-]

Notes

Splines have been fit to data in [1] for the uninsulated case and [2] for the insulated case. The data is presented
in the original papers and in [3].

100 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3]

Examples

>>> Rac_Nusselt_Rayleigh(1, .5, 2, False)


2530.500000000005
>>> Rac_Nusselt_Rayleigh(1, .5, 2, True)
2071.0089443385655

ht.conv_free_enclosed.Rac_Nusselt_Rayleigh_disk(H, D, insulated=True)
Calculates the critical Rayleigh number for free convection to begin in the parallel horizontal disk scenario. There
are actually two cases - one for the top plate to be insulated (adiabatic) and the other where it has infinite thermal
conductivity/is infinitely thin or not present (perfectly conducting). All real cases will lie between the two.
Parameters
H [float] Distance between the two disks, [m]
D [float] Diameter of the two disks, [m]
insulated [bool, optional] Whether the top plate is insulated or uninsulated, [-]
Returns
Rac [float] Critical Rayleigh number, [-]

Notes

The range of data covered by this function is D/H from 0.4 to infinity. As inifinity is not well suited to polynomial
form, the upper limit is 6 in actuality. Values outside that range are rounded to the limits.
This function provides 17-coefficient polynomial fits to interpolate in the table of values in [1]. The source of
the coefficients is cited as being from [2].

References

[1], [2]

Examples

>>> Rac_Nusselt_Rayleigh_disk(H=1, D=.4, insulated=False)


151199.9999999945

>>> Rac_Nusselt_Rayleigh_disk(H=1, D=4, insulated=False)


1891.520931853363

>>> Rac_Nusselt_Rayleigh_disk(2, 1, True)


24347.31479211917

1.2. API Reference 101


Heat Transfer Documentation, Release 1.0.3

1.2.10 Internal convection (ht.conv_internal)

ht.conv_internal.Morimoto_Hotta(Re, Pr, Dh, Rm)


Calculates Nusselt number for flow inside a spiral heat exchanger of spiral mean diameter Rm and hydraulic
diameter Dh according to [1], also as shown in [2] and [3].
(︂ )︂
𝐷ℎ
𝑁 𝑢 = 0.0239 1 + 5.54 𝑅𝑒0.806 𝑃 𝑟0.268
𝑅𝑚

2𝐻𝑆
𝐷ℎ =
𝐻 +𝑆
𝑅𝑚𝑖𝑛 + 𝑅𝑚𝑎𝑥
𝑅𝑚 =
2
Parameters
Re [float] Reynolds number with bulk properties, [-]
Pr [float] Prandtl number with bulk properties [-]
Dh [float] Average hydraulic diameter, [m]
Rm [float] Average spiral radius, [m]
Returns
Nu [float] Nusselt number with respect to Dh, [-]

Notes

[1] is in Japanese.

References

[1], [2], [3]

Examples

>>> Morimoto_Hotta(1E5, 5.7, .05, .5)


634.4879473869859

ht.conv_internal.Nu_conv_internal(Re, Pr, eD=0.0, Di=None, x=None, fd=None, Method=None)


This function calculates the heat transfer coefficient for internal convection inside a circular pipe.
Requires at a minimum a flow’s Reynolds and Prandtl numbers Re and Pr. Relative roughness eD can be specified
to include the enhancement of heat transfer from the added turbulence.
For laminar flow, thermally and hydraulically developing flow is supported with the pipe diameter Di and distance
x is provided.
If no correlation’s name is provided as Method, the most accurate applicable correlation is selected.
• If laminar, x and Di provided: ‘Baehr-Stephan laminar thermal/velocity entry’
• Otherwise if laminar, no entry information provided: ‘Laminar - constant T’ (Nu = 3.66)
• If turbulent and Pr < 0.03: ‘Martinelli’
• If turbulent, x and Di provided: ‘Hausen’

102 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

• Otherwise if turbulent: ‘Churchill-Zajic’

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
eD [float, optional] Relative roughness, [-]
Di [float, optional] Inside diameter of pipe, [m]
x [float, optional] Length inside of pipe for calculation, [m]
fd [float, optoinal] Darcy friction factor [-]
Returns
Nu [float] Nusselt number, [-]
Other Parameters
Method [string, optional] A string of the function name to use, as in the dictionary verti-
cal_cylinder_correlations

Examples

Turbulent example

>>> Nu_conv_internal(Re=1E5, Pr=.7)


183.71057902604906

Entry length - laminar example

>>> Nu_conv_internal(Re=1E2, Pr=.7, x=.01, Di=.1)


14.91799128769779

ht.conv_internal.Nu_conv_internal_methods(Re, Pr, eD=0, Di=None, x=None, fd=None,


check_ranges=True)
This function returns a list of correlation names for the calculation of heat transfer coefficient for internal con-
vection inside a circular pipe.
Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
eD [float, optional] Relative roughness, [-]
Di [float, optional] Inside diameter of pipe, [m]
x [float, optional] Length inside of pipe for calculation, [m]
fd [float, optoinal] Darcy friction factor [-]
check_ranges [bool, optional] Whether or not to return only correlations suitable for the pro-
vided data, [-]
Returns
methods [list] List of methods which can be used to calculate Nu with the given inputs

1.2. API Reference 103


Heat Transfer Documentation, Release 1.0.3

Examples

Turbulent example

>>> Nu_conv_internal_methods(Re=1E5, Pr=.7)[0]


'Churchill-Zajic'

Entry length - laminar example

>>> Nu_conv_internal_methods(Re=1E2, Pr=.7, x=.01, Di=.1)[0]


'Baehr-Stephan laminar thermal/velocity entry'

ht.conv_internal.Nu_laminar_rectangular_Shan_London(a_r)
Calculates internal convection Nusselt number for laminar flows in a rectangular pipe of varying aspect ratio, as
developed in [1].
This model is derived assuming a constant wall heat flux from all sides. This is entirely theoretically derived and
reproduced experimentally.

𝑁 𝑢𝑙𝑎𝑚 = 8.235 1 − 2.0421𝛼 + 3.0853𝛼2 − 2.4765𝛼3 + 1.0578𝛼4 − 0.1861𝛼5


(︀ )︀

Parameters
a_r [float] The aspect ratio of the channel, from 0 to 1 [-]
Returns
Nu [float] Nusselt number of flow in a rectangular channel, [-]

Notes

At an aspect ratio of 1 (square channel), the Nusselt number converges to 3.610224. The authors of [1] also
published [2], which tabulates in their table 42 some less precise results that are used to check this function.

References

[1], [2]

Examples

>>> Nu_laminar_rectangular_Shan_London(.7)
3.751762675455

ht.conv_internal.helical_turbulent_Nu_Mori_Nakayama(Re, Pr, Di, Dc)


Calculates Nusselt number for a fluid flowing inside a curved pipe such as a helical coil under turbulent conditions,
using the method of Mori and Nakayama [1], also shown in [2] and [3].
For 𝑃 𝑟 < 1:
⎡ ⎤
(︂ )︂0.1 ⎢
𝑃𝑟 𝐷𝑖 0.098 ⎥
𝑁𝑢 = 𝑅𝑒0.8 ⎢1 + [︂ (︁ )︁ ]︂0.2 ⎥
⎢ ⎥
26.2(𝑃 𝑟2/3 − 0.074) 𝐷𝑐 ⎣ 𝐷𝑖
2 ⎦
𝑅𝑒 𝐷 𝑐

104 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

For 𝑃 𝑟 ≥ 1:
⎡ ⎤
)︂1/12 ⎢
𝑃 𝑟0.4 5/6
(︂
𝐷𝑖 0.061 ⎥
𝑁𝑢 = 𝑅𝑒 ⎢1 + [︂ (︁ )︁ ]︂1/6 ⎥
⎢ ⎥
41 𝐷𝑐 ⎣ 2.5 ⎦
𝐷𝑖
𝑅𝑒 𝐷 𝑐

Parameters
Re [float] Reynolds number with D=Di, [-]
Pr [float] Prandtl number with bulk properties [-]
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
Returns
Nu [float] Nusselt number with respect to Di, [-]

Notes

At very low curvatures, the predicted heat transfer coefficient grows unbounded.
(︁ )︁2
Applicable for 𝑅𝑒 𝐷 𝐷𝑖
𝑐
> 0.1

References

[1], [2], [3]

Examples

>>> helical_turbulent_Nu_Mori_Nakayama(2E5, 0.7, 0.01, .2)


496.2522480663327

ht.conv_internal.helical_turbulent_Nu_Schmidt(Re, Pr, Di, Dc)


Calculates Nusselt number for a fluid flowing inside a curved pipe such as a helical coil under turbulent conditions,
using the method of Schmidt [1], also shown in [2], [3], and [4].
For 𝑅𝑒𝑐𝑟𝑖𝑡 < 𝑅𝑒 < 2.2 × 104 :
[︃ (︂ )︂ (︂ )︂1/3 ]︃
𝐷𝑖 𝐷𝑖 𝐷𝑖 0.1
𝑁 𝑢 = 0.023 1 + 14.8 1 + 𝑅𝑒0.8−0.22( 𝐷𝑐 ) 𝑃 𝑟1/3
𝐷𝑐 𝐷𝑐

For 2.2 × 104 < 𝑅𝑒 < 1.5 × 105 :


[︃ (︂ )︂ (︂ )︂0.8 ]︃
𝐷𝑖 𝐷𝑖
𝑁 𝑢 = 0.023 1 + 3.6 1 − 𝑅𝑒0.8 𝑃 𝑟1/3
𝐷𝑐 𝐷𝑐

Parameters
Re [float] Reynolds number with D=Di, [-]
Pr [float] Prandtl number with bulk properties [-]

1.2. API Reference 105


Heat Transfer Documentation, Release 1.0.3

Di [float] Inner diameter of the coil, [m]


Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
Returns
Nu [float] Nusselt number with respect to Di, [-]

Notes

For very low curvatures, reasonable results are returned by both cases of Reynolds numbers.

References

[1], [2], [3], [4]

Examples

>>> helical_turbulent_Nu_Schmidt(2E5, 0.7, 0.01, .2)


466.2569996832083

ht.conv_internal.helical_turbulent_Nu_Xin_Ebadian(Re, Pr, Di, Dc)


Calculates Nusselt number for a fluid flowing inside a curved pipe such as a helical coil under turbulent conditions,
using the method of Xin and Ebadian [1], also shown in [2] and [3].
For 𝑅𝑒𝑐𝑟𝑖𝑡 < 𝑅𝑒 < 1 × 105 :
[︂ (︂ )︂]︂
0.92 0.4 𝐷𝑖
𝑁 𝑢 = 0.00619𝑅𝑒 𝑃𝑟 1 + 3.455
𝐷𝑐

Parameters
Re [float] Reynolds number with D=Di, [-]
Pr [float] Prandtl number with bulk properties [-]
Di [float] Inner diameter of the coil, [m]
Dc [float] Diameter of the helix/coil measured from the center of the tube on one side to the
center of the tube on the other side, [m]
Returns
Nu [float] Nusselt number with respect to Di, [-]

Notes

For very low curvatures, reasonable results are returned.


The correlation was developed with data in the range of 0.7 < 𝑃 𝑟 < 5; 0.0267 < 𝐷𝑖
𝐷𝑐 < 0.0884.

106 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3]

Examples

>>> helical_turbulent_Nu_Xin_Ebadian(2E5, 0.7, 0.01, .2)


474.11413424344755

ht.conv_internal.laminar_Q_const()
Returns internal convection Nusselt number for laminar flows in pipe according to [1], [2], and [3]. Heat flux is
assumed constant. This is entirely theoretically derived and reproduced experimentally.

𝑁 𝑢 = 4.354

Returns
Nu [float] Nusselt number, [-]

Notes

This applies only for fully thermally and hydraulically developed and flows. Many sources round to 4.36, but [3]
does not.

References

[1], [2], [3]


ht.conv_internal.laminar_T_const()
Returns internal convection Nusselt number for laminar flows in pipe according to [1], [2] and [3]. Wall temper-
ature is assumed constant. This is entirely theoretically derived and reproduced experimentally.

𝑁 𝑢 = 3.66

Returns
Nu [float] Nusselt number, [-]

Notes

This applies only for fully thermally and hydraulically developed and flows.

References

[1], [2], [3]


ht.conv_internal.laminar_entry_Baehr_Stephan(Re, Pr, L, Di)
Calculates average internal convection Nusselt number for laminar flows in pipe during the thermal and velocity
entry region according to [1] as shown in [2].
3.657 −1
−1/3 −2/3 + 0.0499𝐺𝑧𝐷 tanh(𝐺𝑧𝐷 )
tanh[2.264𝐺𝑧𝐷 +1.7𝐺𝑧𝐷 ]
𝑁 𝑢𝐷 = −1/6
tanh(2.432𝑃 𝑟1/6 𝐺𝑧𝐷 )

1.2. API Reference 107


Heat Transfer Documentation, Release 1.0.3

𝐷
𝐺𝑧 = 𝑅𝑒𝐷 𝑃 𝑟
𝐿
Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
L [float] Length of pipe [m]
Di [float] Diameter of pipe [m]
Returns
Nu [float] Nusselt number, [-]

Notes

As L gets larger, this equation becomes the constant-temperature Nusselt number.

References

[1], [2]

Examples

>>> laminar_entry_Baehr_Stephan(Re=100000, Pr=1.1, L=5, Di=.5)


72.65402046550976

ht.conv_internal.laminar_entry_Seider_Tate(Re, Pr, L, Di, mu=None, mu_w=None)


Calculates average internal convection Nusselt number for laminar flows in pipe during the thermal entry region
as developed in [1], also shown in [2].
(︂ )︂1/3 (︂ )︂0.14
𝐷 𝜇𝑏
𝑁 𝑢𝐷 = 1.86 𝑅𝑒𝐷 𝑃 𝑟
𝐿 𝜇𝑠

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
L [float] Length of pipe [m]
Di [float] Diameter of pipe [m]
mu [float, optional] Viscosity of fluid, [Pa*s]
mu_w [float, optional] Viscosity of fluid at wall temperature, [Pa*s]
Returns
Nu [float] Nusselt number, [-]

108 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Notes

Reynolds number should be less than 10000. This should be calculated using pipe diameter. Prandlt number
should be no less than air and no more than liquid metals; 0.7 < Pr < 16700 Viscosities should be the bulk and
surface properties; they are optional. Outside the boundaries, this equation is provides very false results.

References

[1], [2]

Examples

>>> laminar_entry_Seider_Tate(Re=100000, Pr=1.1, L=5, Di=.5)


41.366029684589265

ht.conv_internal.laminar_entry_thermal_Hausen(Re, Pr, L, Di)


Calculates average internal convection Nusselt number for laminar flows in pipe during the thermal entry region
according to [1] as shown in [2] and cited by [3].

0.0668 𝐷
𝐿 𝑅𝑒𝐷 𝑃 𝑟
𝑁 𝑢𝐷 = 3.66 + 2/3
1 + 0.04( 𝐷
𝐿 𝑅𝑒𝐷 𝑃 𝑟)

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
L [float] Length of pipe [m]
Di [float] Diameter of pipe [m]
Returns
Nu [float] Nusselt number, [-]

Notes

If Pr >> 1, (5 is a common requirement) this equation also applies to flows with developing velocity profile. As
L gets larger, this equation becomes the constant-temperature Nusselt number.

References

[1], [2], [3]

1.2. API Reference 109


Heat Transfer Documentation, Release 1.0.3

Examples

>>> laminar_entry_thermal_Hausen(Re=100000, Pr=1.1, L=5, Di=.5)


39.01352358988535

ht.conv_internal.turbulent_Bhatti_Shah(Re, Pr, fd, eD)


Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as shown in [1]. The
most widely used rough pipe turbulent correlation.

(𝑓 /8)𝑅𝑒𝐷 𝑃 𝑟
𝑁 𝑢𝐷 = √︀
1 + 𝑓 /8(4.5𝑅𝑒0.2
𝜖 𝑃𝑟
0.5 − 8.48)

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
fd [float] Darcy friction factor [-]
eD [float] Relative roughness, [-]
Returns
Nu [float] Nusselt number, [-]

Notes

According to [1], the limits are: 0.5 Pr 10 0.002 /D 0.05 10,000 Re_{D} Another correlation is listed in this
equation, with a wider variety of validity.

References

[1], [2]

Examples

>>> turbulent_Bhatti_Shah(Re=1E5, Pr=1.2, fd=0.0185, eD=1E-3)


302.7037617414273

ht.conv_internal.turbulent_Churchill_Zajic(Re, Pr, fd)


Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as developed in [1].
Has yet to obtain popularity.
{︃(︂ )︂ [︃ (︂ )︂2/3 ]︃ }︃−1
𝑃 𝑟𝑇 1 𝑃 𝑟𝑇 1
𝑁𝑢 = + 1−
𝑃𝑟 𝑁 𝑢𝑑𝑖 𝑃𝑟 𝑁 𝑢𝐷∞

𝑅𝑒(𝑓 /8)
𝑁 𝑢𝑑𝑖 =
1 + 145(8/𝑓 )−5/4
(︂ )︂1/3
𝑃𝑟
𝑁 𝑢𝐷∞ = 0.07343𝑅𝑒 (𝑓 /8)0.5
𝑃 𝑟𝑇
0.015
𝑃 𝑟𝑇 = 0.85 +
𝑃𝑟

110 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
fd [float] Darcy friction factor [-]
Returns
Nu [float] Nusselt number, [-]

Notes

No restrictions on range. This is equation is developed with more theoretical work than others.

References

[1], [2]

Examples

>>> turbulent_Churchill_Zajic(Re=1E5, Pr=1.2, fd=0.0185)


260.5564907817961

ht.conv_internal.turbulent_Colburn(Re, Pr)
Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as in [1].

𝑁 𝑢 = 0.023𝑅𝑒0.8 𝑃 𝑟1/3

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
Returns
Nu [float] Nusselt number, [-]

Notes

Range according to [1] is 0.5 < Pr < 3 and 10^4 < Re < 10^5.

References

[1], [2]

1.2. API Reference 111


Heat Transfer Documentation, Release 1.0.3

Examples

>>> turbulent_Colburn(Re=1E5, Pr=1.2)


244.41147091200068

ht.conv_internal.turbulent_Dipprey_Sabersky(Re, Pr, fd, eD)


Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as shown in [1].

𝑅𝑒𝑃 𝑟(𝑓 /8)


𝑁𝑢 =
1+ (𝑓 /8)0.5 [5.19𝑅𝑒0.2
𝜖 𝑃𝑟
0.44 − 8.48]

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
fd [float] Darcy friction factor [-]
eD [float] Relative roughness, [-]
Returns
Nu [float] Nusselt number, [-]

Notes

According to [1], the limits are: 1.2 Pr 5.94 and 1.4*10^4 Re 5E5 and 0.0024 eD 0.049.

References

[1], [2]

Examples

>>> turbulent_Dipprey_Sabersky(Re=1E5, Pr=1.2, fd=0.0185, eD=1E-3)


288.33365198566656

ht.conv_internal.turbulent_Dittus_Boelter(Re, Pr, heating=True, revised=True)


Calculates internal convection Nusselt number for turbulent flows in pipe according to [1], and [2], a reprint of
[3].
4/5
𝑁 𝑢 = 𝑚 * 𝑅𝑒𝐷 𝑃 𝑟𝑛

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
heating [bool] Indicates if the process is heating or cooling, optional
revised [bool] Indicates if revised coefficients should be used or not
Returns
Nu [float] Nusselt number, [-]

112 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Notes

The revised coefficient is m = 0.023. The original form of Dittus-Boelter has a linear coefficient of 0.0243 for
heating and 0.0265 for cooling. These are sometimes rounded to 0.024 and 0.026 respectively. The default,
heating, provides n = 0.4. Cooling makes n 0.3.
0.6 Pr 160 Re_{D} 10000 L/D 10

References

[1], [2], [3]

Examples

>>> turbulent_Dittus_Boelter(Re=1E5, Pr=1.2)


247.40036409449127
>>> turbulent_Dittus_Boelter(Re=1E5, Pr=1.2, heating=False)
242.9305927410295

ht.conv_internal.turbulent_Drexel_McAdams(Re, Pr)
Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as in [1].

𝑁 𝑢 = 0.021𝑅𝑒0.8 𝑃 𝑟0.4

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
Returns
Nu [float] Nusselt number, [-]

Notes

Range according to [1] is Pr 0.7 and 10^4 Re 5*10^6.

References

[1], [2]

Examples

>>> turbulent_Drexel_McAdams(Re=1E5, Pr=0.6)


171.19055301724387

ht.conv_internal.turbulent_ESDU(Re, Pr)
Calculates internal convection Nusselt number for turbulent flows in pipe according to the ESDU as shown in
[1].

𝑁 𝑢 = 0.0225𝑅𝑒0.795 𝑃 𝑟0.495 exp(−0.0225 ln(𝑃 𝑟)2 )

1.2. API Reference 113


Heat Transfer Documentation, Release 1.0.3

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
Returns
Nu [float] Nusselt number, [-]

Notes

4000 < Re < 1E6, 0.3 < Pr < 3000 and L/D > 60. This equation has not been checked. It was developed by
a commercial group. This function is a small part of a much larger series of expressions accounting for many
factors.

References

[1]

Examples

>>> turbulent_ESDU(Re=1E5, Pr=1.2)


232.3017143430645

ht.conv_internal.turbulent_Friend_Metzner(Re, Pr, fd)


Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as in [1].

(𝑓 /8)𝑅𝑒𝑃 𝑟
𝑁𝑢 =
1.2 + 11.8(𝑓 /8)0.5 (𝑃 𝑟 − 1)𝑃 𝑟−1/3

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
fd [float] Darcy friction factor [-]
Returns
Nu [float] Nusselt number, [-]

Notes

Range according to [1] 50 < Pr 600 and 5*10^4 Re 5*10^6. The extreme limits on range should be considered!

114 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

References

[1], [2]

Examples

>>> turbulent_Friend_Metzner(Re=1E5, Pr=100., fd=0.0185)


1738.3356262055322

ht.conv_internal.turbulent_Gnielinski(Re, Pr, fd)


Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as in [1]. This is the
most recent general equation, and is strongly recommended.

(𝑓 /8)(𝑅𝑒 − 1000)𝑃 𝑟
𝑁𝑢 =
1 + 12.7(𝑓 /8)1/2 (𝑃 𝑟2/3 − 1)
Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
fd [float] Darcy friction factor [-]
Returns
Nu [float] Nusselt number, [-]

Notes

Range according to [1] is 0.5 < Pr 2000 and 2300 Re 5*10^6.

References

[1], [2]

Examples

>>> turbulent_Gnielinski(Re=1E5, Pr=1.2, fd=0.0185)


254.62682749359632

ht.conv_internal.turbulent_Gnielinski_smooth_1(Re, Pr)
Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as in [1]. This is a
simplified case assuming smooth pipe.

𝑁 𝑢 = 0.0214(𝑅𝑒0.8 − 100)𝑃 𝑟0.4

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
Returns
Nu [float] Nusselt number, [-]

1.2. API Reference 115


Heat Transfer Documentation, Release 1.0.3

Notes

Range according to [1] is 0.5 < Pr 1.5 and 10^4 Re 5*10^6.

References

[1], [2]

Examples

>>> turbulent_Gnielinski_smooth_1(Re=1E5, Pr=1.2)


227.88800494373442

ht.conv_internal.turbulent_Gnielinski_smooth_2(Re, Pr)
Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as in [1]. This is a
simplified case assuming smooth pipe.

𝑁 𝑢 = 0.012(𝑅𝑒0.87 − 280)𝑃 𝑟0.4

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
Returns
Nu [float] Nusselt number, [-]

Notes

Range according to [1] is 1.5 < Pr 500 and 3*10^3 Re 10^6.

References

[1], [2]

Examples

>>> turbulent_Gnielinski_smooth_2(Re=1E5, Pr=7.)


577.7692524513449

ht.conv_internal.turbulent_Gowen_Smith(Re, Pr, fd)


Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as shown in [1].

𝑅𝑒𝑃 𝑟(𝑓 /8)0.5


𝑁𝑢 =
4.5 + [0.155(𝑅𝑒(𝑓 /8)0.5 )0.54 + (8/𝑓 )0.5 ]𝑃 𝑟0.5

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]

116 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

fd [float] Darcy friction factor [-]


Returns
Nu [float] Nusselt number, [-]

Notes

0.7 Pr 14.3 and 10^4 Re 5E4 and 0.0021 eD 0.095

References

[1], [2]

Examples

>>> turbulent_Gowen_Smith(Re=1E5, Pr=1.2, fd=0.0185)


131.72530453824106

ht.conv_internal.turbulent_Kawase_De(Re, Pr, fd)


Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as shown in [1].

𝑁 𝑢 = 0.0471𝑅𝑒𝑃 𝑟0.5 (𝑓 /4)0.5 (1.11 + 0.44𝑃 𝑟−1/3 − 0.7𝑃 𝑟−1/6 )

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
fd [float] Darcy friction factor [-]
Returns
Nu [float] Nusselt number, [-]

Notes

5.1 Pr 390 and 5000 Re 5E5 and 0.0024 eD 0.165.

References

[1], [2]

Examples

>>> turbulent_Kawase_De(Re=1E5, Pr=1.2, fd=0.0185)


296.5019733271324

ht.conv_internal.turbulent_Kawase_Ulbrecht(Re, Pr, fd)


Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as shown in [1].

𝑁 𝑢 = 0.0523𝑅𝑒𝑃 𝑟0.5 (𝑓 /4)0.5

1.2. API Reference 117


Heat Transfer Documentation, Release 1.0.3

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
fd [float] Darcy friction factor [-]
Returns
Nu [float] Nusselt number, [-]

Notes

No limits are provided.

References

[1], [2]

Examples

>>> turbulent_Kawase_Ulbrecht(Re=1E5, Pr=1.2, fd=0.0185)


389.6262247333975

ht.conv_internal.turbulent_Martinelli(Re, Pr, fd)


Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as shown in [1].

𝑅𝑒𝑃 𝑟(𝑓 /8)0.5


𝑁𝑢 =
5[𝑃 𝑟 + ln(1 + 5𝑃 𝑟) + 0.5 ln(𝑅𝑒(𝑓 /8)0.5 /60)]

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
fd [float] Darcy friction factor [-]
Returns
Nu [float] Nusselt number, [-]

Notes

No range is given for this equation. Liquid metals are probably its only applicability.

118 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

References

[1], [2]

Examples

>>> turbulent_Martinelli(Re=1E5, Pr=100., fd=0.0185)


887.1710686396347

ht.conv_internal.turbulent_Nunner(Re, Pr, fd, fd_smooth)


Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as shown in [1].

𝑅𝑒𝑃 𝑟(𝑓 /8)


𝑁𝑢 =
1 + 1.5𝑅𝑒−1/8 𝑃 𝑟−1/6 [𝑃 𝑟(𝑓 /𝑓𝑠 ) − 1]
Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
fd [float] Darcy friction factor [-]
fd_smooth [float] Darcy friction factor of a smooth pipe [-]
Returns
Nu [float] Nusselt number, [-]

Notes

Valid for Pr 0.7; bad results for Pr > 1.

References

[1], [2]

Examples

>>> turbulent_Nunner(Re=1E5, Pr=0.7, fd=0.0185, fd_smooth=0.005)


101.15841010919947

ht.conv_internal.turbulent_Petukhov_Kirillov_Popov(Re, Pr, fd)


Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] and [3] as in [1].

(𝑓 /8)𝑅𝑒𝑃 𝑟
𝑁𝑢 =
𝐶 + 12.7(𝑓 /8)1/2 (𝑃 𝑟2/3 − 1)
𝐶 = 1.07 + 900/𝑅𝑒 − [0.63/(1 + 10𝑃 𝑟)]

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
fd [float] Darcy friction factor [-]

1.2. API Reference 119


Heat Transfer Documentation, Release 1.0.3

Returns
Nu [float] Nusselt number, [-]

Notes

Range according to [1] is 0.5 < Pr 10^6 and 4000 Re 5*10^6

References

[1], [2], [3]

Examples

>>> turbulent_Petukhov_Kirillov_Popov(Re=1E5, Pr=1.2, fd=0.0185)


250.11935088905105

ht.conv_internal.turbulent_Prandtl(Re, Pr, fd)


Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as in [1].
(𝑓 /8)𝑅𝑒𝑃 𝑟
𝑁𝑢 =
1 + 8.7(𝑓 /8)0.5 (𝑃 𝑟 − 1)
Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
fd [float] Darcy friction factor [-]
Returns
Nu [float] Nusselt number, [-]

Notes

Range according to [1] 0.5 Pr 5 and 10^4 Re 5*10^6

References

[1], [2]

Examples

>>> turbulent_Prandtl(Re=1E5, Pr=1.2, fd=0.0185)


256.073339689557

ht.conv_internal.turbulent_Sandall(Re, Pr, fd)


Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as in [1].
(𝑓 /8)𝑅𝑒𝑃 𝑟
𝑁𝑢 =
12.48𝑃 𝑟2/3 − 7.853𝑃 𝑟1/3 + 3.613 ln 𝑃 𝑟 + 5.8 + 𝐶
𝐶 = 2.78 ln((𝑓 /8)0.5 𝑅𝑒/45)

120 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
fd [float] Darcy friction factor [-]
Returns
Nu [float] Nusselt number, [-]

Notes

Range according to [1] is 0.5< Pr 2000 and 10^4 Re 5*10^6.

References

[1], [2]

Examples

>>> turbulent_Sandall(Re=1E5, Pr=1.2, fd=0.0185)


229.0514352970239

ht.conv_internal.turbulent_Sieder_Tate(Re, Pr, mu=None, mu_w=None)


Calculates internal convection Nusselt number for turbulent flows in pipe according to [1] and supposedly [2].
(︂ )︂0.14
4/5 1/3 𝜇
𝑁 𝑢 = 0.027𝑅𝑒 𝑃𝑟
𝜇𝑠

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
mu [float] Viscosity of fluid, [Pa*s]
mu_w [float] Viscosity of fluid at wall temperature, [Pa*s]
Returns
Nu [float] Nusselt number, [-]

Notes

A linear coefficient of 0.023 is often listed with this equation. The source of the discrepancy is not known. The
equation is not present in the original paper, but is nevertheless the source usually cited for it.

1.2. API Reference 121


Heat Transfer Documentation, Release 1.0.3

References

[1], [2]

Examples

>>> turbulent_Sieder_Tate(Re=1E5, Pr=1.2)


286.9178136793052
>>> turbulent_Sieder_Tate(Re=1E5, Pr=1.2, mu=0.01, mu_w=0.067)
219.84016455766044

ht.conv_internal.turbulent_Webb(Re, Pr, fd)


Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as in [1].

(𝑓 /8)𝑅𝑒𝑃 𝑟
𝑁𝑢 =
1.07 + 9(𝑓 /8)0.5 (𝑃 𝑟 − 1)𝑃 𝑟1/4

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
fd [float] Darcy friction factor [-]
Returns
Nu [float] Nusselt number, [-]

Notes

Range according to [1] is 0.5 < Pr 100 and 10^4 Re 5*10^6

References

[1], [2]

Examples

>>> turbulent_Webb(Re=1E5, Pr=1.2, fd=0.0185)


239.10130376815872

ht.conv_internal.turbulent_entry_Hausen(Re, Pr, Di, x)


Calculates internal convection Nusselt number for the entry region of a turbulent flow in pipe according to [2] as
in [1].

𝑁 𝑢 = 0.037(𝑅𝑒0.75 − 180)𝑃 𝑟0.42 [1 + (𝑥/𝐷)−2/3 ]

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
Di [float] Inside diameter of pipe, [m]

122 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

x [float] Length inside of pipe for calculation, [m]


Returns
Nu [float] Nusselt number, [-]

Notes

Range according to [1] is 0.7 < Pr 3 and 10^4 Re 5*10^6.

References

[1], [2]

Examples

>>> turbulent_entry_Hausen(Re=1E5, Pr=1.2, Di=0.154, x=0.05)


677.7228275901755

ht.conv_internal.turbulent_von_Karman(Re, Pr, fd)


Calculates internal convection Nusselt number for turbulent flows in pipe according to [2] as in [1].

(𝑓 /8)𝑅𝑒𝑃 𝑟
𝑁𝑢 =
𝑃 𝑟 − 1 + ln 5𝑃 6𝑟+1
[︀ (︀ )︀]︀
1+ 5(𝑓 /8)0.5

Parameters
Re [float] Reynolds number, [-]
Pr [float] Prandtl number, [-]
fd [float] Darcy friction factor [-]
Returns
Nu [float] Nusselt number, [-]

Notes

Range according to [1] is 0.5 Pr 3 and 10^4 Re 10^5.

References

[1], [2]

1.2. API Reference 123


Heat Transfer Documentation, Release 1.0.3

Examples

>>> turbulent_von_Karman(Re=1E5, Pr=1.2, fd=0.0185)


255.7243541243272

1.2.11 Convection to jacketed vessels (ht.conv_jacket)

ht.conv_jacket.Lehrer(m, Dtank, Djacket, H, Dinlet, rho, Cp, k, mu, muw=None, isobaric_expansion=None,


dT=None, inlettype='tangential', inletlocation='auto')
Calculates average heat transfer coefficient for a jacket around a vessel according to [1] as described in [2].
⎡ ⎤
0.75
(︂ )︂0.14
0.03𝑅𝑒𝑆 𝑃 𝑟 ⎦ 𝜇
𝑁 𝑢𝑆,𝐿 = ⎣
1 + 1.74(𝑃 𝑟−1)
0.125
𝑅𝑒𝑆
𝜇𝑤

(︂ )︂0.5
8
𝑑𝑔 = 𝛿
3
𝑣ℎ = (𝑣𝑆 𝑣𝑖𝑛𝑙𝑒𝑡 )0.5 + 𝑣𝐴
𝑄
𝑣𝑖𝑛𝑙𝑒𝑡 = 𝜋 2
4 𝑑𝑖𝑛𝑙𝑒𝑡
𝑄
𝑣𝑠 = 𝜋 2 2
4 (𝐷𝑗𝑎𝑐𝑘𝑒𝑡 − 𝐷𝑡𝑎𝑛𝑘 )
For Radial inlets:

𝑣𝐴 = 0.5(2𝑔𝐻𝛽𝛿∆𝑇 )0.5

For Tangential inlets:

𝑣𝐴 = 0

Parameters
m [float] Mass flow rate of fluid, [kg/s]
Dtank [float] Outer diameter of tank or vessel surrounded by jacket, [m]
Djacket [float] Inner diameter of jacket surrounding a vessel or tank, [m]
H [float] Height of the vessel or tank, [m]
Dinlet [float] Inner diameter of inlet into the jacket, [m]
rho [float] Density of the fluid at Tm [kg/m^3]
Cp [float] Heat capacity of fluid at Tm [J/kg/K]
k [float] Thermal conductivity of fluid at Tm [W/m/K]
mu [float] Viscosity of fluid at Tm [Pa*s]
muw [float, optional] Viscosity of fluid at Tw [Pa*s]
isobaric_expansion [float, optional] Constant pressure expansivity of a fluid, [m^3/mol/K]
dT [float, optional] Temperature difference of fluid in jacket, [K]
inlettype [str, optional] Either ‘tangential’ or ‘radial’

124 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

inletlocation [str, optional] Either ‘top’ or ‘bottom’ or ‘auto’


Returns
h [float] Average heat transfer coefficient inside the jacket [W/m^2/K]

Notes

If the fluid is heated and enters from the bottom, natural convection assists the heat transfer and the Grashof term
is added; if it were to enter from the top, it would be subtracted. The situation is reversed if entry is from the top.

References

[1], [2]

Examples

Example as in [2], matches completely.

>>> Lehrer(m=2.5, Dtank=0.6, Djacket=0.65, H=0.6, Dinlet=0.025, dT=20.,


... rho=995.7, Cp=4178.1, k=0.615, mu=798E-6, muw=355E-6)
2922.128124761829

Examples similar to in [2] but covering the other case:

>>> Lehrer(m=2.5, Dtank=0.6, Djacket=0.65, H=0.6, Dinlet=0.025, dT=20.,


... rho=995.7, Cp=4178.1, k=0.615, mu=798E-6, muw=355E-6,
... inlettype='radial', isobaric_expansion=0.000303)
3269.4389632666557

ht.conv_jacket.Stein_Schmidt(m, Dtank, Djacket, H, Dinlet, rho, Cp, k, mu, muw=None, rhow=None,


inlettype='tangential', inletlocation='auto', roughness=0.0)
Calculates average heat transfer coefficient for a jacket around a vessel according to [1] as described in [2].
[︂(︁ )︁ ]︂0.5
𝜋 2 2
𝑙𝑐ℎ = 𝐷𝑡𝑎𝑛𝑘 + 𝐻2
2

𝑑𝑐ℎ = 2𝛿
𝑣𝑐ℎ 𝑑𝑐ℎ 𝜌
𝑅𝑒𝑗 =
𝜇
𝑔𝜌(𝜌 − 𝜌𝑤 )𝑑3𝑐ℎ
𝐺𝑟𝐽 =
𝜇2
[︃ (︃ )︃]︃0.5
2
|𝐺𝑟𝐽 | 𝑑𝐻𝑐ℎ
𝑅𝑒𝐽,𝑒𝑞 = 𝑅𝑒𝐽 ±
50
(︂ )︂0.14
𝜇
𝑁 𝑢𝐽 = (𝑁 𝑢3𝐴 + 𝑁 𝑢3𝐵 + 𝑁 𝑢3𝐶 + 𝑁 𝑢3𝐷 )1/3
𝜇𝑤
ℎ𝑑𝑐ℎ
𝑁 𝑢𝐽 =
𝑘
𝑁 𝑢𝐴 = 3.66

1.2. API Reference 125


Heat Transfer Documentation, Release 1.0.3

(︂ )︂1/3
1/3 𝑑𝑐ℎ
𝑁 𝑢𝐵 = 1.62𝑃 𝑟1/3 𝑅𝑒𝐽,𝑒𝑞
𝑙𝑐ℎ
𝑑𝑐ℎ 0.5
𝑁 𝑢𝐶 = 0.664𝑃 𝑟1/3 (𝑅𝑒𝐽,𝑒𝑞 )
𝑙𝑐ℎ
if 𝑅𝑒𝐽,𝑒𝑞 < 2300 : 𝑁 𝑢𝐷 = 0
(︃ (︂ )︂2.5 )︃ (︃ (︂ )︂2/3 )︃
1/3 0.9 2300 𝑑𝑐ℎ
𝑁 𝑢𝐷 = 0.0115𝑃 𝑟 𝑅𝑒𝐽,𝑒𝑞 1 − 1+
𝑅𝑒𝐽,𝑒𝑞 𝑙𝑐ℎ
For Radial inlets:
(︃ )︃
ln 𝑏𝑏𝑀 𝑖𝑡
𝐸𝑖𝑛
𝑣𝑐ℎ = 𝑣𝑀 𝑖𝑡 𝑏𝐸𝑖𝑛
1− 𝑏𝑀 𝑖𝑡

2
𝜋 𝐷𝑖𝑛𝑙𝑒𝑡
𝑏𝐸𝑖𝑛 =
8 𝛿
√︂
2
𝜋 𝜋 2 𝐷𝑡𝑎𝑛𝑘
𝑏𝑀 𝑖𝑡 = 𝐷𝑡𝑎𝑛𝑘 1 +
2 4 𝐻2
𝑄
𝑣𝑀 𝑖𝑡 =
2𝛿𝑏𝑀 𝑖𝑡
For Tangential inlets:

𝑣𝑐ℎ = (𝑣𝑥2 + 𝑣𝑧2 )0.5


⎛ ⎞
𝑓𝑑 𝐷𝑡𝑎𝑛𝑘 𝐻 𝑣𝑥 (0)
ln[1 + 2
𝐷𝑖𝑛𝑙𝑒𝑡 𝑣𝑖𝑛𝑙𝑒𝑡 ]
𝑣𝑥 = 𝑣𝑖𝑛𝑙𝑒𝑡 ⎝ 𝑓𝑑 𝐷𝑡𝑎𝑛𝑘 𝐻

2
𝐷𝑖𝑛𝑙𝑒𝑡

𝑣𝑥 (0) = 𝐾3 + (𝐾32 + 𝐾4 )0.5


𝑣𝑖𝑛𝑙𝑒𝑡 𝐷2 𝑣𝑖𝑛𝑙𝑒𝑡
𝐾3 = − 𝑖𝑛𝑙𝑒𝑡
4 4𝑓𝑑 𝐷𝑡𝑎𝑛𝑘 𝐻
2 2
𝐷𝑖𝑛𝑙𝑒𝑡 𝑣𝑖𝑛𝑙𝑒𝑡
𝐾4 =
2𝑓𝑑 𝐷𝑡𝑎𝑛𝑘 𝐻
𝑄
𝑣𝑧 =
𝜋𝐷𝑡𝑎𝑛𝑘 𝛿
𝑄
𝑣𝑖𝑛𝑙𝑒𝑡 = 𝜋 2
4 𝐷𝑖𝑛𝑙𝑒𝑡
Parameters
m [float] Mass flow rate of fluid, [kg/m^3]
Dtank [float] Outer diameter of tank or vessel surrounded by jacket, [m]
Djacket [float] Inner diameter of jacket surrounding a vessel or tank, [m]
H [float] Height of the vessel or tank, [m]
Dinlet [float] Inner diameter of inlet into the jacket, [m]
rho [float] Density of the fluid at Tm [kg/m^3]
Cp [float] Heat capacity of fluid at Tm [J/kg/K]
k [float] Thermal conductivity of fluid at Tm [W/m/K]

126 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

mu [float] Viscosity of fluid at Tm [Pa*s]


muw [float, optional] Viscosity of fluid at Tw [Pa*s]
rhow [float, optional] Density of the fluid at Tw [kg/m^3]
inlettype [str, optional] Either ‘tangential’ or ‘radial’
inletlocation [str, optional] Either ‘top’ or ‘bottom’ or ‘auto’
roughness [float, optional] Roughness of the tank walls [m]
Returns
h [float] Average transfer coefficient inside the jacket [W/m^2/K]

Notes

[1] is in German and has not been reviewed. Multiple other formulations are considered in [1].
If the fluid is heated and enters from the bottom, natural convection assists the heat transfer and the Grashof term
is added; if it were to enter from the top, it would be subtracted. The situation is reversed if entry is from the top.

References

[1], [2]

Examples

Example as in [2], matches in all but friction factor:

>>> Stein_Schmidt(m=2.5, Dtank=0.6, Djacket=0.65, H=0.6, Dinlet=0.025,


... rho=995.7, Cp=4178.1, k=0.615, mu=798E-6, muw=355E-6, rhow=971.8)
5695.2041698088615

1.2.12 Convection to packed beds (ht.conv_packed_bed)

ht.conv_packed_bed.Nu_Achenbach(Re, Pr, voidage)


Calculates Nusselt number of a fluid passing over a bed of particles using a correlation shown in [1] and also
cited in the review of [2].
(︂ )︂0.75
𝑅𝑒
𝑁 𝑢 = [(1.18𝑅𝑒0.58 )4 + (0.23 )4 ]0.25
1−𝜖

Parameters
Re [float] Reynolds number with pebble diameter as characteristic dimension, [-]
Pr [float] Prandtl number of the fluid []
voidage [float] Void fraction of bed packing [-]
Returns
Nu [float] Nusselt number for heat transfer to the packed bed [-]

1.2. API Reference 127


Heat Transfer Documentation, Release 1.0.3

Notes

Claimed value for Re/ < 7.7E5 Developed with tests performed in a wind tunnel at conditions up to 30 bar.

References

[1], [2]

Examples

>>> Nu_Achenbach(2000, 0.7, 0.4)


117.70343608599121

ht.conv_packed_bed.Nu_KTA(Re, Pr, voidage)


Calculates Nusselt number of a fluid passing over a bed of particles using a correlation shown in [1] and also
cited in the review of [2].

𝑃 𝑟1/3 0.36 𝑃 𝑟0.5


𝑁 𝑢 = 1.27 1.18
𝑅𝑒 + 0.033 1.07 𝑅𝑒0.86
𝜖 𝜖
Parameters
Re [float] Reynolds number with pebble diameter as characteristic dimension, [-]
Pr [float] Prandtl number of the fluid [-]
voidage [float] Void fraction of bed packing [-]
Returns
Nu [float] Nusselt number for heat transfer to the packed bed [-]

Notes

100 < Re < 1E5; 0.36 < < 0.42; D/d > 20 with D as bed diameter, d as particle diameter; H > 4d with H as bed
height.

References

[1], [2]

Examples

>>> Nu_KTA(2000, 0.7, 0.4)


102.08516480718129

ht.conv_packed_bed.Nu_Wakao_Kagei(Re, Pr)
Calculates Nusselt number of a fluid passing over a bed of particles using a correlation shown in [1] and also
cited in the review of [2]. Relatively rough, as it has no dependence on voidage.

𝑁 𝑢 = 2 + 1.1𝑃 𝑟1/3 𝑅𝑒0.6

Parameters

128 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Re [float] Reynolds number with pebble diameter as characteristic dimension, [-]


Pr [float] Prandtl number of the fluid []
Returns
Nu [float] Nusselt number for heat transfer to the packed bed [-]

Notes

Fit for Re from 3 to 3000; claimed reasonableness of fit to to 1E6.

References

[1], [2]

Examples

>>> Nu_Wakao_Kagei(2000, 0.7)


95.40641328041248

ht.conv_packed_bed.Nu_packed_bed_Gnielinski(dp, voidage, vs, rho, mu, Pr, fa=None)


Calculates Nusselt number of a fluid passing over a bed of particles using a correlation shown in [3] and cited as
from [1] and [2]. Likely the best available model as the author of [1] is the same as [2] and [3].

𝑁 𝑢 = 𝑓𝑎 𝑁 𝑢𝑠𝑝ℎ𝑒𝑟𝑒
√︁
𝑁 𝑢𝑠𝑝ℎ𝑒𝑟𝑒 = 2 + 𝑁 𝑢2𝑚,𝑙𝑎𝑚 + 𝑁 𝑢2𝑚,𝑡𝑢𝑟𝑏

𝑁 𝑢𝑚,𝑙𝑎𝑚 = 0.664𝑅𝑒0.5 𝑃 𝑟1/3


0.037𝑅𝑒0.8 𝑃 𝑟
𝑁 𝑢𝑚,𝑡𝑢𝑟𝑏 =
1 + 2.443𝑅𝑒−0.1 (𝑃 𝑟2/3 − 1)
𝜌𝑣𝑠 𝑑𝑝
𝑅𝑒 =
𝜇𝜖
Parameters
dp [float] Equivalent spherical particle diameter of packing [m]
voidage [float] Void fraction of bed packing [-]
vs [float] Superficial velocity of the fluid [m/s]
rho [float] Density of the fluid [kg/m^3]
mu [float] Viscosity of the fluid, [Pa*s]
Pr [float] Prandtl number of the fluid []
fa [float, optional] Fator increasing heat transfer []
Returns
Nu [float] Nusselt number for heat transfer to the packed bed [-]

1.2. API Reference 129


Heat Transfer Documentation, Release 1.0.3

Notes

fa is a factor relating how much more heat transfer happens than would normally, around one sphere. For spheres
of the same size, 𝑓𝑎 = 1 + 1.5(1 − 𝜖). For cylinders with l/d ratio of 0.24 < l/d < 1.2 use fa = 1.6. For cubes,
use fa = 1.6 For Raschig rings, use fa = 2.1 For Berl saddles, use fa = 2.3. fa is calculated with the relationship
for spheres if not provided.
Confirmed with experimental data for a range of 1𝐸 − 1 < 𝑅𝑒 < 1, 000 and 0.4 < 𝑃 𝑟 < 1000 for spheres.
Limits are smaller for other shapes.

References

[1], [2], [3]

Examples

>>> Nu_packed_bed_Gnielinski(dp=8E-4, voidage=0.4, vs=1, rho=1E3, mu=1E-3, Pr=0.7)


61.37823202546954

1.2.13 Convection to Plate Heat Exchangers (single-phase) (ht.conv_plate)

ht.conv_plate.Nu_plate_Khan_Khan(Re, Pr, chevron_angle)


Calculates Nusselt number for single-phase flow in a Chevron-style plate heat exchanger according to [1].
(︂ )︂
𝛽 𝛽
𝑁 𝑢 = 0.0161 + 0.1298 𝑅𝑒(0.198 𝛽𝑚𝑎𝑥 +0.6398) 𝑃 𝑟0.35
𝛽𝑚𝑎𝑥

Parameters
Re [float] Reynolds number with respect to the hydraulic diameter of the channels, [-]
Pr [float] Prandtl number calculated with bulk fluid properties, [-]
chevron_angle [float] Angle of the plate corrugations with respect to the vertical axis (the di-
rection of flow if the plates were straight), between 0 and 90. Many plate exchangers use two
alternating patterns; use their average angle for that situation [degrees]
Returns
Nu [float] Nusselt number with respect to Dh, [-]

Notes

The viscosity correction power is recommended to be the blanket Sieder and Tate (1936) value of 0.14.
The correlation is recommended in the range of Reynolds numbers from 500 to 2500, chevron angles between
30 and 60 degrees, and Prandtl numbers between 3.5 and 6.

130 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

References

[1]

Examples

>>> Nu_plate_Khan_Khan(Re=1000, Pr=4.5, chevron_angle=30)


38.40883639103741

ht.conv_plate.Nu_plate_Kumar(Re, Pr, chevron_angle, mu=None, mu_wall=None)


Calculates Nusselt number for single-phase flow in a well-designed Chevron-style plate heat exchanger according
to [1]. The data is believed to have been developed by APV International Limited, since acquired by SPX
Corporation. This uses a curve fit of that data published in [2].
(︂ )︂0.17
𝜇
𝑁 𝑢 = 𝐶1 𝑅𝑒𝑚 𝑃 𝑟0.33
𝜇𝑤𝑎𝑙𝑙

C1 and m are coefficients looked up in a table, with varying ranges of Re validity and chevron angle validity. See
the source for their exact values. The wall fluid property correction is included only if the viscosity values are
provided.
Parameters
Re [float] Reynolds number with respect to the hydraulic diameter of the channels, [-]
Pr [float] Prandtl number calculated with bulk fluid properties, [-]
chevron_angle [float] Angle of the plate corrugations with respect to the vertical axis (the di-
rection of flow if the plates were straight), between 0 and 90. Many plate exchangers use two
alternating patterns; use their average angle for that situation [degrees]
mu [float, optional] Viscosity of the fluid at the bulk (inlet and outlet average) temperature,
[Pa*s]
mu_wall [float, optional] Viscosity of fluid at wall temperature, [Pa*s]
Returns
Nu [float] Nusselt number with respect to Dh, [-]

Notes

Data on graph from Re=0.1 to Re=10000, with chevron angles 30 to 65 degrees. See PlateExchanger for further
clarification on the definitions.
It is believed the constants used in this correlation were curve-fit to the actual graph in [1] by the author of [2]
as there is no
As the coefficients change, there are numerous small discontinuities, although the data on the graphs is continuous
with sharp transitions of the slope.
The author of [1] states clearly this correlation is “applicable only to well designed Chevron PHEs”.

1.2. API Reference 131


Heat Transfer Documentation, Release 1.0.3

References

[1], [2]

Examples

>>> Nu_plate_Kumar(Re=2000, Pr=0.7, chevron_angle=30)


47.757818892853955

With the wall-correction factor included:

>>> Nu_plate_Kumar(Re=2000, Pr=0.7, chevron_angle=30, mu=1E-3, mu_wall=8E-4)


49.604284135097544

ht.conv_plate.Nu_plate_Martin(Re, Pr, plate_enlargement_factor, variant='1999')


Calculates Nusselt number for single-phase flow in a Chevron-style plate heat exchanger according to [1], also
shown in [2] and [3].
]︀0.374
𝑁 𝑢 = 0.122𝑃 𝑟1/3 𝑓𝑑 𝑅𝑒2 sin(2𝜑)
[︀

The Darcy friction factor should be calculated with the Martin (1999) friction factor correlation, as that is what
the power of 0.374 was regressed with. It can be altered to a later formulation by Martin in the VDI Heat Atlas
2E, which increases the calculated heat transfer friction slightly.
Parameters
Re [float] Reynolds number with respect to the hydraulic diameter of the channels, [-]
Pr [float] Prandtl number calculated with bulk fluid properties, [-]
plate_enlargement_factor [float] The extra surface area multiplier as compared to a flat plate
caused the corrugations, [-]
variant [str] One of ‘1999’ or ‘VDI’; chooses between the two Martin friction factor correla-
tions, [-]
Returns
Nu [float] Nusselt number with respect to Dh, [-]

Notes

Based on experimental data from Re from 200 - 10000 and enhancement factors calculated with chevron angles
of 0 to 80 degrees. See PlateExchanger for further clarification on the definitions.
Note there is a discontinuity at Re = 2000 for the transition from laminar to turbulent flow, arising from the
friction factor correlation’s transition ONLY, although the literature suggests the transition is actually smooth.
A viscosity correction power for liquid flows of (1/6) is suggested, and for gases, no correction factor.

132 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3]

Examples

>>> Nu_plate_Martin(Re=2000, Pr=.7, plate_enlargement_factor=1.18)


43.5794551998615

ht.conv_plate.Nu_plate_Muley_Manglik(Re, Pr, chevron_angle, plate_enlargement_factor)


Calculates Nusselt number for single-phase flow in a Chevron-style plate heat exchanger according to [1], also
shown in [2].

𝑁 𝑢 = [0.2668 − 0.006967(𝛽) + 7.244 × 10−5 (𝛽)2 ] × [20.7803 − 50.9372𝜑 + 41.1585𝜑2 − 10.1507𝜑3 ] × 𝑅𝑒[0.728+0.0543 sin[(2

Parameters
Re [float] Reynolds number with respect to the hydraulic diameter of the channels, [-]
Pr [float] Prandtl number calculated with bulk fluid properties, [-]
chevron_angle [float] Angle of the plate corrugations with respect to the vertical axis (the di-
rection of flow if the plates were straight), between 0 and 90. Many plate exchangers use two
alternating patterns; use their average angle for that situation [degrees]
plate_enlargement_factor [float] The extra surface area multiplier as compared to a flat plate
caused the corrugations, [-]
Returns
Nu [float] Nusselt number with respect to Dh, [-]

Notes

The correlation as presented in [1] suffers from a typo, with a coefficient of 10.51 instead of 10.15. Several
more decimal places were published along with the corrected typo in [2]. This has a very large difference if not
implemented.
The viscosity correction power is recommended to be the blanket Sieder and Tate (1936) value of 0.14.
The correlation is recommended in the range of Reynolds numbers above 1000, chevron angles between 30 and
60 degrees, and enlargement factors from 1 to 1.5. Due to its cubic nature it is not likely to give good results if
the chevron angle or enlargement factors are out of those ranges.

References

[1], [2]

1.2. API Reference 133


Heat Transfer Documentation, Release 1.0.3

Examples

>>> Nu_plate_Muley_Manglik(Re=2000, Pr=.7, chevron_angle=45,


... plate_enlargement_factor=1.18)
36.49087100602062

1.2.14 Convection with supercritical fluids (ht.conv_supercritical)

ht.conv_supercritical.Nu_Bishop(Re, Pr, rho_w=None, rho_b=None, D=None, x=None)


Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under supercritical
conditions according to [1]. Correlation includes an adjustment for the thermal entry length. One of the most
common correlations for supercritical convection.
(︂ )︂0.43
¯ 0.66 𝜌𝑤
𝑁 𝑢𝑏 = 0.0069𝑅𝑒0.9
𝑏 𝑃 𝑟𝑏 (1 + 2.4𝐷/𝑥)
𝜌𝑏

¯ = 𝐻𝑤 − 𝐻𝑏
𝐶𝑝
𝑇𝑤 − 𝑇𝑏
Parameters
Re [float] Reynolds number with bulk fluid properties, [-]
Pr [float] Prandtl number with bulk fluid properties and an average heat capacity between the
wall and bulk temperatures [-]
rho_w [float, optional] Density at the wall temperature, [kg/m^3]
rho_b [float, optional] Density at the bulk temperature, [kg/m^3]
D [float, optional] Diameter of tube, [m]
x [float, optional] Axial distance along the tube, [m]
Returns
Nu [float] Nusselt number with wall fluid properties, [-]

Notes

For the data used to develop the correlation, P varied from 22.8 to 27.6 MPa, and D was x/D varied from 30-365.
G varied from 651-3662 kg/m^2/s and q varied from 310 to 3460 kW/m^2. T_b varied from 282 to 527 degrees
Celsius.
Cp used in the calculation of Prandtl number should be the average value of those at the wall and the bulk
temperatures.
For enhanced heat transfer, this was the 11th most accurate correlation in [2] with a MAD of 19.0%. On the
overall database in [3], it was the most accurate correlation however.
If the extra density information is not provided, it will not be used. If both diameter and axial distance are not
provided, the entrance correction is not used.

134 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3], [4]

Examples

>>> Nu_Bishop(1E5, 1.2, 330, 290., .01, 1.2)


265.362005007

ht.conv_supercritical.Nu_Bringer_Smith(Re, Pr)
Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under near-
supercritical conditions according to [1] and as shown in [2] and [3].

𝑁 𝑢𝑥 = 0.0266𝑅𝑒0.77 0.55
𝑥 𝑃 𝑟𝑤

Parameters
Re [float] Reynolds number with fluid properties at T_ref, [-]
Pr [float] Prandtl number with wall fluid properties, [-]
Returns
Nu [float] Nusselt number with fluid properties at T_ref, [-]

Notes

Fit to data somewhat distant from the critical and pseudo-critical regions. Found to fit the data in [3] fourth best;
in [2] however, it was ranked so low that no ranking was given.
Tref and the properties therein should be evaluated as follows:
𝑇𝑝𝑐 − 𝑇𝑏
𝑇𝑟𝑒𝑓 = 𝑇𝑏 if <0
𝑇𝑤 − 𝑇𝑏
𝑇𝑝𝑐 − 𝑇𝑏
𝑇𝑟𝑒𝑓 = 𝑇𝑝𝑐 if 0 < <1
𝑇𝑤 − 𝑇𝑏
𝑇𝑝𝑐 − 𝑇𝑏
𝑇𝑟𝑒𝑓 = 𝑇𝑤 if >1
𝑇𝑤 − 𝑇𝑏

References

[1], [2], [3]

Examples

>>> Nu_Bringer_Smith(1E5, 1.2)


208.1763175327

ht.conv_supercritical.Nu_Gorban(Re, Pr)
Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under supercritical
conditions according to [1]. Not recommended.

𝑁 𝑢𝑏 = 0.0059𝑅𝑒0.90
𝑏 𝑃 𝑟𝑏−0.12

1.2. API Reference 135


Heat Transfer Documentation, Release 1.0.3

Parameters
Re [float] Reynolds number with bulk fluid properties, [-]
Pr [float] Prandtl number with bulk fluid properties, [-]
Returns
Nu [float] Nusselt number with bulk fluid properties, [-]

Notes

Reviewed in [2] and [3]; [2] did not even rank it, and [3] ranked it 12th of 14.

References

[1], [2], [3]

Examples

>>> Nu_Gorban(1E5, 1.2)


182.536728273

ht.conv_supercritical.Nu_Griem(Re, Pr, H=None)


Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under supercritical
conditions according to [1], also shown in [2], [3] and [4]. Has complicated rules regarding where properties
should be evaluated.

𝑁 𝑢𝑚 = 0.0169𝑅𝑒𝑏0.8356 𝑃 𝑟𝑠𝑒𝑙
0.432
𝜔

Parameters
Re [float] Reynolds number as explained below, [-]
Pr [float] Prandtl number as explained below, [-]
H [float, optional] Enthalpy of water (if the fluid is water), [J/kg]
Returns
Nu [float] Nusselt number as explained below, [-]

Notes

w is calculated as follows, for water only, with a reference point from the 1967-IFC formulation. It is set to
1 if H is not provided: if Hb < 1.54E6 J/kg, w = 0.82; if Hb > 1.74E6 J/kg, w = 1; otherwise w = 0.82 +
9E-7*(Hb-1.54E6).
To determine heat capacity to be used, Cp should be calculated at 5 points, and the lowest three points should be
averaged. The five points are: Tw, (Tw+Tf)/2, Tf, (Tb+Tf)/2, Tb.
Viscosity should be the bulk viscosity. Thermal conductivity should be the average of the bulk and wall values.
Density should be the bulk density.
[2] states this correlation was developed with D = 10, 14, and 20 mm, P from 22 to 27 MPa, G from 300 to 2500
kg/m^2/s, and q from 200 to 700 kW/m^2. It was ranked 6th among the 14 correlations reviewed for enhanced

136 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

heat transfer, with a MAD of 13.8%, and 6th overall for the three heat transfer conditions with a overall MAD of
14.8%. [3] ranked it 8th of 14 correlations for the three heat transfer conditions.
[2] has an almost complete description of the model; both [3] and [4] simplify it.

References

[1], [2], [3], [4]

Examples

>>> Nu_Griem(1E5, 1.2)


275.4818576600527

ht.conv_supercritical.Nu_Gupta(Re, Pr, rho_w=None, rho_b=None, mu_w=None, mu_b=None)


Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under supercritical
conditions according to [1].
(︂ )︂0.186 (︂ )︂0.366
0.923 ¯ 0.773 𝜌𝑤 𝜇𝑤
𝑁 𝑢𝑤 = 0.004𝑅𝑒𝑤 𝑃 𝑟𝑤
𝜌𝑏 𝜇𝑏

¯ = 𝐻𝑤 − 𝐻𝑏
𝐶𝑝
𝑇𝑤 − 𝑇𝑏
Parameters
Re [float] Reynolds number with wall fluid properties, [-]
Pr [float] Prandtl number with wall fluid properties and an average heat capacity between the
wall and bulk temperatures [-]
rho_w [float, optional] Density at the wall temperature, [kg/m^3]
rho_b [float, optional] Density at the bulk temperature, [kg/m^3]
mu_w [float, optional] Viscosity at the wall temperature, [Pa*s]
mu_b [float, optional] Viscosity at the bulk temperature, [Pa*s]
Returns
Nu [float] Nusselt number with wall fluid properties, [-]

Notes

For the data used to develop the correlation, P was set at 24 MPa, and D was 10 mm. G varied from 200-1500
kg/m^2/s and q varied from 0 to 1250 kW/m^2.
Cp used in the calculation of Prandtl number should be the average value of those at the wall and the bulk
temperatures.
For deteriorated heat transfer, this was the most accurate correlation in [2] with a MAD of 18.1%.
If the extra density and viscosity information is not provided, it will not be used.

1.2. API Reference 137


Heat Transfer Documentation, Release 1.0.3

References

[1], [2]

Examples

>>> Nu_Gupta(1E5, 1.2, 330, 290., 8e-4, 9e-4)


186.20135477175126

ht.conv_supercritical.Nu_Jackson(Re, Pr, rho_w=None, rho_b=None, Cp_avg=None, Cp_b=None,


T_b=None, T_w=None, T_pc=None)
Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under supercritical
conditions according to [1].
(︂ )︂0.3 (︂ ¯ )︂𝑛
𝜌𝑤 𝐶𝑝
𝑁 𝑢𝑏 = 0.0183𝑅𝑒0.82
𝑏 𝑃 𝑟0.5
𝜌𝑏 𝐶𝑝,𝑏

𝑛 = 0.4 for 𝑇𝑏 < 𝑇𝑤 < 𝑇𝑝𝑐 or 1.2𝑇𝑝𝑐 < 𝑇𝑏 < 𝑇𝑤

𝑛 = 0.4 + 0.2(𝑇𝑤 /𝑇𝑝𝑐 − 1)[1 − 5(𝑇𝑏 /𝑇𝑝𝑐 − 1)] for 𝑇𝑝𝑐 < 𝑇𝑏 < 1.2𝑇𝑝𝑐 and 𝑇𝑏 < 𝑇𝑤

𝑛 = 0.4 + 0.2(𝑇𝑤 /𝑇𝑝𝑐 − 1) for 𝑇𝑏 < 𝑇𝑝𝑐 < 𝑇𝑤

¯ = 𝐻𝑤 − 𝐻𝑏
𝐶𝑝
𝑇𝑤 − 𝑇𝑏
Parameters
Re [float] Reynolds number with bulk fluid properties, [-]
Pr [float] Prandtl number with bulk fluid properties, [-]
rho_w [float, optional] Density at the wall temperature, [kg/m^3]
rho_b [float, optional] Density at the bulk temperature, [kg/m^3]
Cp_avg [float, optional] Average heat capacity between the wall and bulk temperatures, [J/kg/K]
Cp_b [float, optional] Heat capacity at the bulk temperature, [J/kg/K]
T_b [float] Bulk temperature, [K]
T_w [float] Wall temperature, [K]
T_pc [float] Pseudocritical temperature, i.e. temperature at P where Cp is at a maximum, [K]
Returns
Nu [float] Nusselt number with bulk fluid properties, [-]

Notes

The range of examined parameters is as follows: P from 23.4 to 29.3 MPa; G from 700-3600 kg/m^2/s; q from
46 to 2600 kW/m^2; Re from 8E4 to 5E5; D from 1.6 to 20 mm.
For enhanced heat transfer database in [2], this correlation was the second best with a MAD of 11.5%. In the
database in [3], the correlation was the second best as well.
This is sometimes called the Jackson-Hall correlation. If the extra information is not provided, the correlation
will be used without the corrections.

138 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3], [4]

Examples

>>> Nu_Jackson(1E5, 1.2)


252.37231572974918

ht.conv_supercritical.Nu_Kitoh(Re, Pr, H=None, G=None, q=None)


Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under supercritical
conditions according to [1], also shown in [2], [3] and [4]. Depends on fluid enthalpy, mass flux, and heat flux.

𝑁 𝑢𝑏 = 0.015𝑅𝑒0.85
𝑏 𝑃 𝑟𝑏𝑚

81000
𝑚 = 0.69 − + 𝑓𝑐 𝑞
𝑞𝑑ℎ𝑡
𝑞𝑑ℎ𝑡 = 200𝐺1.2
0.11
𝑓𝑐 = 2.9 × 10−8 + for 𝐻𝑏 < 1500 kJ/kg
𝑞𝑑ℎ𝑡
0.65
𝑓𝑐 = −8.7 × 10−8 − for 1500 kJ/kg < 𝐻𝑏 < 3300 kJ/kg
𝑞𝑑ℎ𝑡
1.3
𝑓𝑐 = −9.7 × 10−7 + for 𝐻𝑏 > 3300 kJ/kg
𝑞𝑑ℎ𝑡
Parameters
Re [float] Reynolds number with bulk fluid properties, [-]
Pr [float] Prandtl number with bulk fluid properties, [-]
H [float, optional] Enthalpy of water (if the fluid is water), [J/kg]
G [float, optional] Mass flux of the fluid, [kg/m^2/s]
q [float, optional] Heat flux to wall, [W/m^2]
Returns
Nu [float] Nusselt number as explained below, [-]

Notes

The reference point for the enthalpy values is not stated in [1]. The upper and lower enthalpy limits for this
correlation are 4000 kJ/kg and 0 kJ/kg, but these are not enforced in this function.
If not all of H, G, and q are provided, the correlation is used without the correction.
This correlation was ranked 6th best in [3], and found 4th best for enhanced heat transfer in [2] with a MAD of
12.3%.
For the data used to develop the correlation, G varied from 100-1750 kg/m^2/s, q varied from 0 to 1800 kW/m^2,
and bulk temperature varied from 20 to 550 decrees Celsius.
This correlation does not have realistic behavior for values outside those used in the study, and should not be
used.

1.2. API Reference 139


Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3], [4]

Examples

>>> Nu_Kitoh(1E5, 1.2, 1.3E6, 1500, 5E6)


331.8023413959

ht.conv_supercritical.Nu_Krasnoshchekov(Re, Pr, rho_w=None, rho_b=None, Cp_avg=None, Cp_b=None,


T_b=None, T_w=None, T_pc=None)
Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under supercritical
conditions according to [1].
(︂ )︂0.3 (︂ ¯ )︂𝑛
𝜌𝑤 𝐶𝑝
𝑁 𝑢𝑏 = 𝑁 𝑢0
𝜌𝑏 𝐶𝑝,𝑏

(𝑓 /8)𝑅𝑒𝑏 𝑃¯ 𝑟𝑏
𝑁 𝑢0 = 2/3
1.07 + 12.7(𝑓 /8)1/2 (𝑃¯ 𝑟 𝑏 − 1)
𝑓𝑑 = [1.82 log10 (𝑅𝑒𝑏 ) − 1.64]−2

𝑛 = 0.4 for 𝑇𝑏 < 𝑇𝑤 < 𝑇𝑝𝑐 or 1.2𝑇𝑝𝑐 < 𝑇𝑏 < 𝑇𝑤

𝑛 = 𝑛1 = 0.22 + 0.18𝑇𝑤 /𝑇𝑝𝑐 for 1 < 𝑇𝑤 /𝑇𝑝𝑐 < 2.5

𝑛 = 𝑛1 + (5𝑛1 − 2)(1 − 𝑇𝑏 /𝑇𝑝𝑐 ) for 𝑇𝑝𝑐 < 𝑇𝑏 < 1.2𝑇𝑝𝑐 and 𝑇𝑏 < 𝑇𝑤
Parameters
Re [float] Reynolds number with bulk fluid properties, [-]
Pr [float] Prandtl number with bulk fluid properties, [-]
rho_w [float, optional] Density at the wall temperature, [kg/m^3]
rho_b [float, optional] Density at the bulk temperature, [kg/m^3]
Cp_avg [float, optional] Average heat capacity between the wall and bulk temperatures, [J/kg/K]
Cp_b [float, optional] Heat capacity at the bulk temperature, [J/kg/K]
T_b [float] Bulk temperature, [K]
T_w [float] Wall temperature, [K]
T_pc [float] Pseudocritical temperature, i.e. temperature at P where Cp is at a maximum, [K]
Returns
Nu [float] Nusselt number with bulk fluid properties, [-]

140 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Notes

The range of examined parameters is as follows: P from 23.4 to 29.3 MPa; G from 700-3600 kg/m^2/s; q from
46 to 2600 kW/m^2; Re from 8E4 to 5E5; D from 1.6 to 20 mm.
If the extra information is not provided, the correlation will be used without the corrections.

References

[1], [2]

Examples

>>> Nu_Krasnoshchekov(1E5, 1.2)


234.8285518561

ht.conv_supercritical.Nu_Krasnoshchekov_Protopopov(Re, Pr, Cp_avg=None, Cp_b=None, k_w=None,


k_b=None, mu_w=None, mu_b=None)
Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under supercritical
conditions according to [1].
(︂ )︂0.11 (︂ )︂−0.33 (︂ ¯ )︂0.35
𝜇𝑤 𝑘𝑏 𝐶𝑝
𝑁 𝑢𝑏 = 𝑁 𝑢0
𝜇𝑏 𝑘𝑤 𝐶𝑝,𝑏

(𝑓 /8)𝑅𝑒𝑏 𝑃¯ 𝑟𝑏
𝑁 𝑢0 =
1.07 + 12.7(𝑓 /8)1/2 (𝑃¯ 𝑟𝑏 )2/3 − 1)
𝑓 𝑑 = [1.82 log10 (𝑅𝑒𝑏 ) − 1.64]−2
Parameters
Re [float] Reynolds number with bulk fluid properties, [-]
Pr [float] Prandtl number with bulk fluid properties [-]
Cp_avg [float, optional] Average heat capacity between the wall and bulk temperatures, [J/kg/K]
Cp_b [float, optional] Heat capacity at the bulk temperature, [J/kg/K]
k_w [float, optional] Thermal conductivity at the wall temperature, [W/m/K]
k_b [float, optional] Thermal conductivity at the bulk temperature, [W/m/K]
mu_w [float, optional] Viscosity at the wall temperature, [Pa*s]
mu_b [float, optional] Viscosity at the bulk temperature, [Pa*s]
Returns
Nu [float] Nusselt number with bulk fluid properties, [-]

1.2. API Reference 141


Heat Transfer Documentation, Release 1.0.3

Notes

For the data used to develop the correlation, P varied from 22.3 to 32 MPa, Re varied from 2E4 to 8.6E6, Pr from
0.86-86, viscosity ration from 0.9 to 3.6, thermal conductivity ratio from 1 to 6, and heat capacity ratio from
0.07 to 4.5.
For the heat transfer database in [3], this correlation was 14th most accurate.
If the extra heat capacity, viscosity, and thermal conductivity information is not provided, it will not be used.

References

[1], [2], [3], [4]

Examples

>>> Nu_Krasnoshchekov_Protopopov(1E5, 1.2, 330, 290., 0.62, 0.52, 8e-4, 9e-4)


228.8529673740

ht.conv_supercritical.Nu_McAdams(Re, Pr)
Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under supercritical
conditions according to [1].
Found in [2] to fit the enhanced heat transfer regime with a MAD of 10.3% which was better than and of the
other reviewed correlations.

𝑁 𝑢𝑏 = 0.0243𝑅𝑒0.8 0.4
𝑏 𝑃 𝑟𝑏

Parameters
Re [float] Reynolds number with bulk fluid properties, [-]
Pr [float] Prandtl number with bulk fluid properties, [-]
Returns
Nu [float] Nusselt number with bulk fluid properties, [-]

Notes

This has also been one of the forms of the Dittus-Boelter correlations. Claimed to fit data for high pressures and
low heat fluxes.

References

[1], [2]

142 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Examples

>>> Nu_McAdams(1E5, 1.2)


261.3838629346147

ht.conv_supercritical.Nu_Mokry(Re, Pr, rho_w=None, rho_b=None)


Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under supercritical
conditions according to [1], and reviewed in [2].
(︂ )︂0.564
0.684 𝜌𝑤
𝑁 𝑢𝑏 = 0.0061𝑅𝑒𝑏0.904 𝑃¯𝑟𝑏
𝜌𝑏

¯ = 𝐻𝑤 − 𝐻𝑏
𝐶𝑝
𝑇𝑤 − 𝑇𝑏
Parameters
Re [float] Reynolds number with bulk fluid properties, [-]
Pr [float] Prandtl number with bulk fluid properties and an average heat capacity between the
wall and bulk temperatures [-]
rho_w [float, optional] Density at the wall temperature, [kg/m^3]
rho_b [float, optional] Density at the bulk temperature, [kg/m^3]
Returns
Nu [float] Nusselt number with bulk fluid properties, [-]

Notes

For the data used to develop the correlation, P was set at 20 MPa, and D was 10 mm. G varied from 200-1500
kg/m^2/s and q varied from 0 to 1250 kW/m^2.
Cp used in the calculation of Prandtl number should be the average value of those at the wall and the bulk
temperatures.
For deteriorated heat transfer, this was the four most accurate correlation in [2] with a MAD of 24.0%. It was
also the 7th most accurate against enhanced heat transfer, with a MAD of 14.7%, and the most accurate for the
normal heat transfer database as well as the top correlation in all categories combined.
If the extra density information is not provided, it will not be used.

References

[1], [2]

Examples

>>> Nu_Mokry(1E5, 1.2, 330, 290.)


246.1156319156

1.2. API Reference 143


Heat Transfer Documentation, Release 1.0.3

ht.conv_supercritical.Nu_Ornatsky(Re, Pr_b, Pr_w, rho_w=None, rho_b=None)


Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under supercritical
conditions according to [1] as shown in both [2] and [3].
(︂ )︂0.3
𝜌𝑤
𝑁 𝑢𝑏 = 0.023𝑅𝑒0.8
𝑏 (min(𝑃 𝑟𝑏 , 𝑃 𝑟𝑤 ))
0.8
𝜌𝑏

Parameters
Re [float] Reynolds number with bulk fluid properties, [-]
Pr_b [float] Prandtl number with bulk fluid properties, [-]
Pr_w [float] Prandtl number with wall fluid properties, [-]
rho_w [float, optional] Density at the wall temperature, [kg/m^3]
rho_b [float, optional] Density at the bulk temperature, [kg/m^3]
Returns
Nu [float] Nusselt number with bulk fluid properties, [-]

Notes

[2] ranked it thirteenth in the enhanced heat transfer category, with a MAD of 19.8% and 11th in the normal heat
transfer with a MAD of 17.6%. [3] ranked it seventh on a combined database.
If the extra density information is not provided, it will not be used.

References

[1], [2], [3]

Examples

>>> Nu_Ornatsky(1E5, 1.2, 1.5, 330, 290.)


276.6353115083

ht.conv_supercritical.Nu_Petukhov(Re, Pr, rho_w=None, rho_b=None, mu_w=None, mu_b=None)


Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under supercritical
conditions according to [1].

(𝑓 /8)𝑅𝑒𝑏 𝑃¯ 𝑟𝑏
𝑁 𝑢𝑏 =
1 + 900/𝑅𝑒𝑏 + 12.7(𝑓 /8)1/2 (𝑃¯ 𝑟𝑏 )2/3 − 1)
(︂ )︂0.4 (︂ )︂0.2
𝜌𝑤 𝜇𝑤
𝑓 = 𝑓𝑑
𝜌𝑏 𝜇𝑏
𝑓𝑑 = [1.82 log10 (𝑅𝑒𝑏 ) − 1.64]−2
Parameters
Re [float] Reynolds number with bulk fluid properties, [-]
Pr [float] Prandtl number with bulk fluid properties [-]
rho_w [float, optional] Density at the wall temperature, [kg/m^3]

144 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

rho_b [float, optional] Density at the bulk temperature, [kg/m^3]


mu_w [float, optional] Viscosity at the wall temperature, [Pa*s]
mu_b [float, optional] Viscosity at the bulk temperature, [Pa*s]
Returns
Nu [float] Nusselt number with bulk fluid properties, [-]

Notes

For the heat transfer database in [2], this correlation was 5th most accurate in the enhanced heat transfer category,
and second in the normal heat transfer category with MADs of 13.8% and 12.0% respectively.
If the extra viscosity and density information is not provided, it will not be used.

References

[1], [2]

Examples

>>> Nu_Petukhov(1E5, 1.2, 330, 290., 8e-4, 9e-4)


254.825859846

ht.conv_supercritical.Nu_Shitsman(Re, Pr_b, Pr_w)


Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under supercritical
conditions according to [1] and [2] as shown in both [3] and [4].

𝑁 𝑢𝑏 = 0.023𝑅𝑒𝑏0.8 (𝑚𝑖𝑛(𝑃 𝑟𝑏 , 𝑃 𝑟𝑤 ))0.8

Parameters
Re [float] Reynolds number with bulk fluid properties, [-]
Pr_b [float] Prandtl number with bulk fluid properties, [-]
Pr_w [float] Prandtl number with wall fluid properties, [-]
Returns
Nu [float] Nusselt number with bulk fluid properties, [-]

Notes

[3] states this correlation was developed with D = 7.8 and 8.2 mm and with a Pr approximately 1. [3] ranked it
third in the enhanced heat transfer category, with a MAD as 11.5%
[4] cites a [1] as the source of the correlation. Neither have been reviewed, and both are in Russian. [4] lists this
as third most accurate of the 14 correlations reviewed from a database of all regimes.

1.2. API Reference 145


Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3], [4]

Examples

>>> Nu_Shitsman(1E5, 1.2, 1.6)


266.1171311047253

ht.conv_supercritical.Nu_Swenson(Re, Pr, rho_w=None, rho_b=None)


Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under supercritical
conditions according to [1].
(︂ )︂0.231
𝜌𝑤
𝑁 𝑢𝑤 = 0.00459𝑅𝑒0.923
𝑤
0.613
𝑃 𝑟𝑤
𝜌𝑏

¯ = 𝐻𝑤 − 𝐻𝑏
𝐶𝑝
𝑇𝑤 − 𝑇𝑏
Parameters
Re [float] Reynolds number with wall fluid properties, [-]
Pr [float] Prandtl number with wall fluid properties and an average heat capacity between the
wall and bulk temperatures [-]
rho_w [float, optional] Density at the wall temperature, [kg/m^3]
rho_b [float, optional] Density at the bulk temperature, [kg/m^3]
Returns
Nu [float] Nusselt number with wall fluid properties, [-]

Notes

The range of examined parameters is as follows: P from 22.8 to 27.6 MPa; G from 542-2150 kg/m^2/s; Re from
7.5E4 to 3.16E6; T_b from 75 to 576 degrees Celsius and T_w from 93 to 649 degrees Celsius.
Cp used in the calculation of Prandtl number should be the average value of those at the wall and the bulk
temperatures.
For deteriorated heat transfer, this was the most accurate correlation in [2] with a MAD of 18.4%. On the overall
database in [3], it was the 9th most accurate correlation.
If the extra density information is not provided, it will not be used.

References

[1], [2], [3], [4]

146 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Examples

>>> Nu_Swenson(1E5, 1.2, 330, 290.)


217.92827034803668

ht.conv_supercritical.Nu_Xu(Re, Pr, rho_w=None, rho_b=None, mu_w=None, mu_b=None)


Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under supercritical
conditions according to [1].
(︂ )︂0.6638 (︂ )︂0.8687
0.9213 𝜌𝑤 𝜇𝑤
𝑁 𝑢𝑏 = 0.02269𝑅𝑒𝑏0.8079 𝑃¯𝑟𝑏
𝜌𝑏 𝜇𝑏

¯ = 𝐻𝑤 − 𝐻𝑏
𝐶𝑝
𝑇𝑤 − 𝑇𝑏
Parameters
Re [float] Reynolds number with bulk fluid properties, [-]
Pr [float] Prandtl number with bulk fluid properties and an average heat capacity between the
wall and bulk temperatures [-]
rho_w [float, optional] Density at the wall temperature, [kg/m^3]
rho_b [float, optional] Density at the bulk temperature, [kg/m^3]
mu_w [float, optional] Viscosity at the wall temperature, [Pa*s]
mu_b [float, optional] Viscosity at the bulk temperature, [Pa*s]
Returns
Nu [float] Nusselt number with bulk fluid properties, [-]

Notes

For the data used to develop the correlation, P varied from 23 to 30 MPa, and D was 12 mm. G varied from
600-1200 kg/m^2/s and q varied from 100 to 600 kW/m^2.
Cp used in the calculation of Prandtl number should be the average value of those at the wall and the bulk
temperatures.
For deteriorated heat transfer, this was the third most accurate correlation in [2] with a MAD of 20.5%.
If the extra density and viscosity information is not provided, it will not be used.

References

[1], [2]

1.2. API Reference 147


Heat Transfer Documentation, Release 1.0.3

Examples

>>> Nu_Xu(1E5, 1.2, 330, 290., 8e-4, 9e-4)


289.133054256742

ht.conv_supercritical.Nu_Yamagata(Re, Pr, Pr_pc=None, Cp_avg=None, Cp_b=None, T_b=None,


T_w=None, T_pc=None)
Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under supercritical
conditions according to [1].

𝑁 𝑢𝑏 = 0.0138𝑅𝑒0.85
𝑏 𝑃 𝑟𝑏0.8 𝐹
(︂ ¯ )︂𝑛2
𝐶𝑝 𝑇𝑝𝑐 − 𝑇𝑏
𝐹 = if <0
𝐶𝑝,𝑏 𝑇𝑤 − 𝑇𝑏
(︂ ¯ )︂𝑛1
𝐶𝑝 𝑇𝑝𝑐 − 𝑇𝑏
−0.05
𝐹 = 0.67𝑃 𝑟𝑝𝑐 if 0 < <1
𝐶𝑝,𝑏 𝑇𝑤 − 𝑇𝑏
𝑇𝑝𝑐 − 𝑇𝑏
𝐹 = 1 if >1
𝑇𝑤 − 𝑇𝑏
𝑛1 = −0.77(1 + 1/𝑃 𝑟𝑝𝑐 ) + 1.49

𝑛2 = 1.44(1 + 1/𝑃 𝑟𝑝𝑐 ) − 0.53

¯ = 𝐻𝑤 − 𝐻𝑏
𝐶𝑝
𝑇𝑤 − 𝑇𝑏
Parameters
Re [float] Reynolds number with bulk fluid properties, [-]
Pr [float] Prandtl number with bulk fluid properties, [-]
Pr_pc [float, optional] Prandtl number at the pseudocritical temperature, [-]
Cp_avg [float, optional] Average heat capacity between the wall and bulk temperatures, [J/kg/K]
Cp_b [float, optional] Heat capacity at the bulk temperature, [J/kg/K]
T_b [float] Bulk temperature, [K]
T_w [float] Wall temperature, [K]
T_pc [float] Pseudocritical temperature, i.e. temperature at P where Cp is at a maximum, [K]
Returns
Nu [float] Nusselt number with bulk fluid properties, [-]

Notes

For the data used to develop the correlation, P varied from 22.6 to 29.4 MPa, and D was 7.5 and 10 mm. G
varied from 310-1830 kg/m^2/s, q varied from 116 to 930 kW/m^2, and bulk temperature varied from 230 to
540 decrees Celsius.
In the database in [3], the correlation was considered but not tested. In [2], the correlation was considered but
no results were reported.
For enhanced heat transfer database in [2], this correlation was the second best with a MAD of 11.5%. In the
database in [3], the correlation was the second best as well.
If the extra information is not provided, the correlation will be used without the corrections.

148 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3], [4]

Examples

>>> Nu_Yamagata(Re=1E5, Pr=1.2, Pr_pc=1.5, Cp_avg=2080.845, Cp_b=2048.621, T_b=650,␣


˓→T_w=700, T_pc=600.0)

292.347342800

ht.conv_supercritical.Nu_Zhu(Re, Pr, rho_w=None, rho_b=None, k_w=None, k_b=None)


Calculates internal convection Nusselt number for turbulent vertical upward flow in a pipe under supercritical
conditions according to [1].
(︂ )︂0.17 (︂ )︂0.29
¯ 0.63 𝜌𝑤 𝑘𝑤
𝑁 𝑢𝑏 = 0.0068𝑅𝑒0.9
𝑏 𝑃 𝑟𝑏
𝜌𝑏 𝑘𝑏

¯ = 𝐻𝑤 − 𝐻𝑏
𝐶𝑝
𝑇𝑤 − 𝑇𝑏
Parameters
Re [float] Reynolds number with bulk fluid properties, [-]
Pr [float] Prandtl number with bulk fluid properties and an average heat capacity between the
wall and bulk temperatures [-]
rho_w [float, optional] Density at the wall temperature, [kg/m^3]
rho_b [float, optional] Density at the bulk temperature, [kg/m^3]
k_w [float, optional] Thermal conductivity at the wall temperature, [W/m/K]
k_b [float, optional] Thermal conductivity at the bulk temperature, [W/m/K]
Returns
Nu [float] Nusselt number with bulk fluid properties, [-]

Notes

For the data used to develop the correlation, P varied from 22 to 30 MPa, and D was 26 mm. G varied from
600-1200 kg/m^2/s and q varied from 200 to 600 kW/m^2.
Cp used in the calculation of Prandtl number should be the average value of those at the wall and the bulk
temperatures.
On the overall database in [2], this was the 8th most accurate correlation,and ninth most accurate against normal
heat transfer.
If the extra density and thermal conductivity information is not provided, it will not be used.

1.2. API Reference 149


Heat Transfer Documentation, Release 1.0.3

References

[1], [2]

Examples

>>> Nu_Zhu(1E5, 1.2, 330, 290., 0.63, 0.69)


240.145985449

1.2.15 Heat transfer and pressure drop across tube bundles (ht.conv_tube_bank)

ht.conv_tube_bank.ESDU_tube_angle_correction(angle)
Calculates the tube bank inclination correction factor according to [1] for heat transfer across a tube bundle.
𝑁 𝑢𝜃
𝐹3 = = (sin(𝜃))0.6
𝑁 𝑢𝜃=90∘
Parameters
angle [float] The angle of inclination of the tuba bank with respect to the longitudinal axis (90°
for a straight tube bank)
Returns
F3 [float] ESDU tube inclination correction factor, [-]

Notes

A curve is given in [1] but it is so close the function, it is likely the function is all that is used. [1] claims this
correction is valid for 100 < 𝑅𝑒 < 106 .
For angles less than 10°, the problem should be considered internal flow, not flow across a tube bank.

References

[1]

Examples

>>> ESDU_tube_angle_correction(75)
0.9794139080247666

ht.conv_tube_bank.ESDU_tube_row_correction(tube_rows, staggered=True, Re=3000.0, method='Hewitt')


Calculates the tube row correction factor according to [1] as shown in [2] for heat transfer across a tube bun-
dle. This is also used for finned bundles. The correction factors are slightly different for staggered vs. inline
configurations.
This method is a tabular lookup, with values of 1 when the tube row count is 10 or more.
Parameters
tube_rows [int] Number of tube rows per bundle, [-]
staggered [bool, optional] Whether in the in-line or staggered configuration, [-]

150 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Re [float, optional] The Reynolds number of flow through the tube bank using the bare tube
outer diameter and the minimum flow area through the bundle, [-]
method [str, optional] ‘Hewitt’; this may have another option in the future, [-]
Returns
F2 [float] ESDU tube row count correction factor, [-]

Notes

In [1], for line data, there are two curves given for different Reynolds number ranges. This is not included in [2]
and only an average curve is given. This is not implemented here; Re is an argument but does not impact the
result of this function.
For tube counts 1-7, [3] claims the factors from [1] are on average: [0.65, 0.77, 0.84, 0.9, 0.94, 0.97, 0.99].

References

[1], [2], [3]

Examples

>>> ESDU_tube_row_correction(4, staggered=True)


0.8984
>>> ESDU_tube_row_correction(6, staggered=False)
0.9551

ht.conv_tube_bank.Nu_ESDU_73031(Re, Pr, tube_rows, pitch_parallel, pitch_normal, Pr_wall=None,


angle=90.0)
Calculates the Nusselt number for crossflow across a tube bank with a specified number of tube rows, at a specified
Re according to [1], also shown in [2].

Nu = 𝑎Re𝑚 Pr0.34 𝐹1 𝐹2

The constants a and m come from the following tables:


In-line tube banks:

Re a m
10-300 0.742 0.431
300-2E5 0.211 0.651
2E5-2E6 0.116 0.700

Staggered tube banks:

Re a m
10-300 1.309 0.360
300-2E5 0.273 0.635
2E5-2E6 0.124 0.700

Parameters

1.2. API Reference 151


Heat Transfer Documentation, Release 1.0.3

Re [float] Reynolds number with respect to average (bulk) fluid properties and tube outside di-
ameter, [-]
Pr [float] Prandtl number with respect to average (bulk) fluid properties, [-]
tube_rows [int] Number of tube rows per bundle, [-]
pitch_parallel [float] Distance between tube center along a line parallel to the flow; has been
called longitudinal pitch, pp, s2, SL, and p2, [m]
pitch_normal [float] Distance between tube centers in a line 90° to the line of flow; has been
called the transverse pitch, pn, s1, ST, and p1, [m]
Pr_wall [float, optional] Prandtl number at the wall temperature; provide if a correction with
the defaults parameters is desired; otherwise apply the correction elsewhere, [-]
angle [float, optional] The angle of inclination of the tuba bank with respect to the longitudinal
axis (90° for a straight tube bank)
Returns
Nu [float] Nusselt number with respect to tube outside diameter, [-]

See also:

ESDU_tube_angle_correction
ESDU_tube_row_correction

Notes

The tube-row count correction factor F2 can be disabled by setting tube_rows to 10. The property correction
factor F1 can be disabled by not specifying Pr_wall. A Prandtl number exponent of 0.26 is recommended in [1]
for heating and cooling for both liquids and gases.
The pitches are used to determine whhether or not to use data for staggered or inline tube banks.
The inline coefficients are valid for a normal pitch to tube diameter ratio from 1.2 to 4; and the staggered ones
from 1 to 4. The overall accuracy of this method is claimed to be 15%.

References

[1], [2]

Examples

>>> Nu_ESDU_73031(Re=1.32E4, Pr=0.71, tube_rows=8, pitch_parallel=.09,


... pitch_normal=.05)
98.2563319140594

ht.conv_tube_bank.Nu_Grimison_tube_bank(Re, Pr, Do, tube_rows, pitch_parallel, pitch_normal)


Calculates Nusselt number for crossflow across a tube bank of tube rows at a specified Re, Pr, and D using the
Grimison methodology as described in [1].

𝑁 ¯𝑢𝐷 = 1.13𝐶1 𝑅𝑒𝑚


𝐷,𝑚𝑎𝑥 𝑃 𝑟
1/3
𝐶2

Parameters

152 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Re [float] Reynolds number with respect to average (bulk) fluid properties and tube outside di-
ameter, [-]
Pr [float] Prandtl number with respect to average (bulk) fluid properties, [-]
Do [float] Tube outer diameter, [m]
tube_rows [int] Number of tube rows per bundle, [-]
pitch_parallel [float] Distance between tube center along a line parallel to the flow; has been
called longitudinal pitch, pp, s2, SL, and p2, [m]
pitch_normal [float] Distance between tube centers in a line 90° to the line of flow; has been
called the transverse pitch, pn, s1, ST, and p1, [m]
Returns
Nu [float] Nusselt number with respect to tube outside diameter, [-]

Notes

Tube row correction factors are applied for tube row counts less than 10, also published in [1].

References

[1]

Examples

>>> Nu_Grimison_tube_bank(Re=10263.37, Pr=.708, tube_rows=11,


... pitch_normal=.05, pitch_parallel=.05, Do=.025)
79.07883866010

>>> Nu_Grimison_tube_bank(Re=10263.37, Pr=.708, tube_rows=11,


... pitch_normal=.07, pitch_parallel=.05, Do=.025)
79.92721078571

ht.conv_tube_bank.Nu_HEDH_tube_bank(Re, Pr, Do, tube_rows, pitch_parallel, pitch_normal)


Calculates Nusselt number for crossflow across a tube bank of tube rows at a specified Re, Pr, and D using the
Heat Exchanger Design Handbook (HEDH) methodology, presented in [1].

𝑁 𝑢 = 𝑁 𝑢𝑚 𝑓𝑁
√︁
𝑁 𝑢𝑚 = 0.3 + 𝑁 𝑢2𝑚,𝑙𝑎𝑚 + 𝑁 𝑢2𝑚,𝑡𝑢𝑟𝑏

0.037𝑅𝑒0.8 𝑃 𝑟
𝑁 𝑢𝑚,𝑡𝑢𝑟𝑏 =
1 + 2.443𝑅𝑒−0.1 (𝑃 𝑟2/3 − 1)
𝑁 𝑢𝑚,𝑙𝑎𝑚 = 0.664𝑅𝑒0.5 𝑃 𝑟1/3
𝜋
𝜓 =1− if b >= 1
4𝑎
𝜋
𝜓 =1− if b < 1
4𝑎𝑏
0.7 𝑏/𝑎 − 0.3
𝑓𝐴 = 1 + 1.5 if inline
𝜓 (𝑏/𝑎) + 0.7)2

1.2. API Reference 153


Heat Transfer Documentation, Release 1.0.3

2
𝑓𝐴 = 1 + elif partly staggered
3𝑏
1 + (𝑛 − 1)𝑓𝐴
𝑓𝑁 =
𝑛
Parameters
Re [float] Reynolds number with respect to average (bulk) fluid properties and tube outside di-
ameter, [-]
Pr [float] Prandtl number with respect to average (bulk) fluid properties, [-]
Do [float] Tube outer diameter, [m]
tube_rows [int] Number of tube rows per bundle, [-]
pitch_parallel [float] Distance between tube center along a line parallel to the flow; has been
called longitudinal pitch, pp, s2, SL, and p2, [m]
pitch_normal [float] Distance between tube centers in a line 90° to the line of flow; has been
called the transverse pitch, pn, s1, ST, and p1, [m]
Returns
Nu [float] Nusselt number with respect to tube outside diameter, [-]

Notes

Prandtl number correction left to an outside function, although a set of coefficients were specified in [1] because
they depent on whether heating or cooling is happening, and for gases, use a temperature ratio instaed of Prandtl
number.
The claimed range of validity of these expressions is 10 < 𝑅𝑒 < 1𝐸5 and 0.6 < 𝑃 𝑟 < 1000.

References

[1], [2]

Examples

>>> Nu_HEDH_tube_bank(Re=1E4, Pr=7., tube_rows=10, pitch_normal=.05,


... pitch_parallel=.05, Do=.03)
382.4636554404698

Example 3.11 in [2]:

>>> Nu_HEDH_tube_bank(Re=10263.37, Pr=.708, tube_rows=11, pitch_normal=.05,


... pitch_parallel=.05, Do=.025)
149.18735251017594

ht.conv_tube_bank.Nu_Zukauskas_Bejan(Re, Pr, tube_rows, pitch_parallel, pitch_normal, Pr_wall=None)


Calculates Nusselt number for crossflow across a tube bank of tube number n at a specified Re according to
the method of Zukauskas [1]. A fit to graphs from [1] published in [2] is used for the correlation. The tube row
correction factor is obtained from digitized graphs from [1], and a lookup table was created and is used for speed.
The formulas are as follows:

154 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Aligned tube banks:


(︂ )︂0.25
𝑃𝑟
¯ 𝑢𝐷 = 0.9𝐶𝑛 𝑅𝑒0.4 𝑃 𝑟0.36
𝑁 𝐷 for 1 < 𝑅𝑒 < 100
𝑃 𝑟𝑤
(︂ )︂0.25
𝑃𝑟
¯ 𝑢𝐷 = 0.52𝐶𝑛 𝑅𝑒0.5
𝑁 𝐷 𝑃𝑟
0.36
for 100 < 𝑅𝑒 < 1000
𝑃 𝑟𝑤
(︂ )︂0.25
𝑃𝑟
¯ 0.63
𝑁 𝑢𝐷 = 0.27𝐶𝑛 𝑅𝑒𝐷 𝑃 𝑟 0.36
for 1000 < 𝑅𝑒 < 20000
𝑃 𝑟𝑤
(︂ )︂0.25
¯ 𝑢𝐷 = 0.033𝐶𝑛 𝑅𝑒0.8 𝑃 𝑟0.36 𝑃 𝑟
𝑁 for 20000 < 𝑅𝑒 < 200000
𝐷
𝑃 𝑟𝑤
Staggered tube banks:
(︂ )︂0.25
𝑃𝑟
¯ 𝑢𝐷 = 1.04𝐶𝑛 𝑅𝑒0.4
𝑁 𝐷 𝑃𝑟
0.36
for 1 < 𝑅𝑒 < 500
𝑃 𝑟𝑤
(︂ )︂0.25
𝑃𝑟
¯ 𝑢𝐷 = 0.71𝐶𝑛 𝑅𝑒0.5 𝑃 𝑟0.36
𝑁 𝐷 for 500 < 𝑅𝑒 < 1000
𝑃 𝑟𝑤
(︂ )︂0.25 (︂ )︂0.2
𝑃𝑟 𝑋𝑡
¯ 0.6
𝑁 𝑢𝐷 = 0.35𝐶𝑛 𝑅𝑒𝐷 𝑃 𝑟 0.36
for 1000 < 𝑅𝑒 < 20000
𝑃 𝑟𝑤 𝑋𝑙
(︂ )︂0.25 (︂ )︂0.2
𝑃𝑟 𝑋𝑡
¯ 0.8
𝑁 𝑢𝐷 = 0.031𝐶𝑛 𝑅𝑒𝐷 𝑃 𝑟 0.36
for 20000 < 𝑅𝑒 < 200000
𝑃 𝑟𝑤 𝑋𝑙
Parameters
Re [float] Reynolds number with respect to average (bulk) fluid properties and tube outside di-
ameter, [-]
Pr [float] Prandtl number with respect to average (bulk) fluid properties, [-]
tube_rows [int] Number of tube rows per bundle, [-]
pitch_parallel [float] Distance between tube center along a line parallel to the flow; has been
called longitudinal pitch, pp, s2, SL, and p2, [m]
pitch_normal [float] Distance between tube centers in a line 90° to the line of flow; has been
called the transverse pitch, pn, s1, ST, and p1, [m]
Pr_wall [float, optional] Prandtl number at the wall temperature; provide if a correction with
the defaults parameters is desired; otherwise apply the correction elsewhere, [-]
Returns
Nu [float] Nusselt number with respect to tube outside diameter, [-]

Notes

If Pr_wall is not provided, the Prandtl number correction is not used and left to an outside function. A Prandtl
number exponent of 0.25 is recommended in [1] for heating and cooling for both liquids and gases.

1.2. API Reference 155


Heat Transfer Documentation, Release 1.0.3

References

[1], [2]

Examples

>>> Nu_Zukauskas_Bejan(Re=1E4, Pr=7., tube_rows=10, pitch_parallel=.05, pitch_


˓→normal=.05)

175.9202277145248

ht.conv_tube_bank.Zukauskas_tube_row_correction(tube_rows, staggered=True, Re=10000.0)


Calculates the tube row correction factor according to a graph digitized from [1] for heat transfer across a tube
bundle. The correction factors are slightly different for staggered vs. inline configurations; for the staggered
configuration, factors are available separately for Re larger or smaller than 1000.
This method is a tabular lookup, with values of 1 when the tube row count is 20 or more.
Parameters
tube_rows [int] Number of tube rows per bundle, [-]
staggered [bool, optional] Whether in the in-line or staggered configuration, [-]
Re [float, optional] The Reynolds number of flow through the tube bank using the bare tube
outer diameter and the minimum flow area through the bundle, [-]
Returns
F [float] Tube row count correction factor, [-]

Notes

The basis for this method is that an infinitely long tube bank has a factor of 1; in practice the factor is reached at
20 rows.

References

[1]

Examples

>>> Zukauskas_tube_row_correction(4, staggered=True)


0.8942
>>> Zukauskas_tube_row_correction(6, staggered=False)
0.9465

ht.conv_tube_bank.baffle_correction_Bell(crossflow_tube_fraction, method='spline')
Calculate the baffle correction factor Jc which accounts for the fact that all tubes are not in crossflow to the fluid
- some have fluid flowing parallel to them because they are situated in the “window”, where the baffle is cut,
instead of between the tips of adjacent baffles.
Equal to 1 for no tubes in the window, increases to 1.15 when the windows are small and velocity there is high;
decreases to about 0.52 for very large baffle cuts. Well designed exchangers should typically have a value near
1.0.

156 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Cubic spline interpolation is the default method of retrieving a value from the graph, which was digitized with
Engauge-Digitizer.
The interpolation can be slightly slow, so a Chebyshev polynomial was fit to a maximum error of 0.142%, average
error 0.04% - well within the margin of error of the digitization of the graph; this is approximately 10 times faster,
accessible via the ‘chebyshev’ method.
The Heat Exchanger Design Handbook [4], [5] provides the linear curve fit, which covers the “practical” range
of baffle cuts 15-45% but not the last dip in the graph. This method is not recommended, but can be used via the
method “HEDH”.

𝐽𝑐 = 0.55 + 0.72𝐹 𝑐

Parameters
crossflow_tube_fraction [float] Fraction of tubes which are between baffle tips and not in the
window, [-]
method [str, optional] One of ‘chebyshev’, ‘spline’, or ‘HEDH’
Returns
Jc [float] Baffle correction factor in the Bell-Delaware method, [-]

Notes

max: ~1.1536 at ~0.9066 min: ~0.5328 at 0 value at 1: ~1.0314


For the ‘spline’ method, this function takes ~13 us per call. The other two methods are approximately 10x faster.

References

[1], [2], [3], [4], [5]

Examples

For a HX with four groups of tube bundles; the top and bottom being 9 tubes each, in the window, and the two
middle bundles having 41 tubes each, for a total of 100 tubes, the fraction between baffle tubes and not in the
window is 0.82. The correction factor is then:

>>> baffle_correction_Bell(0.82)
1.1258554691854046

ht.conv_tube_bank.baffle_leakage_Bell(Ssb, Stb, Sm, method='spline')


Calculate the baffle leakage factor Jl which accounts for leakage between each baffle. Cubic spline interpolation
is the default method of retrieving a value from the graph, which was digitized with Engauge-Digitizer.
The Heat Exchanger Design Handbook [4], [5] provides a curve fit as well. This method is not recommended,
but can be used via the method “HEDH”.

𝐽𝐿 = 0.44(1 − 𝑟𝑠 ) + [1 − 0.44(1 − 𝑟𝑠 )] exp(−2.2𝑟𝑙𝑚 )

𝑆𝑠𝑏
𝑟𝑠 =
𝑆𝑠𝑏 + 𝑆𝑡𝑏
𝑆𝑠𝑏 + 𝑆𝑡𝑏
𝑟𝑙𝑚 =
𝑆𝑚

1.2. API Reference 157


Heat Transfer Documentation, Release 1.0.3

Parameters
Ssb [float] Shell to baffle leakage area, [m^2]
Stb [float] Total baffle leakage area, [m^2]
Sm [float] Crossflow area, [m^2]
method [str, optional] One of ‘spline’, or ‘HEDH’
Returns
Jl [float] Baffle leakage factor in the Bell-Delaware method, [-]

Notes

Takes ~5 us per call. If the x parameter is larger than 0.743614, it is clipped to it.
The HEDH curve fits are rather poor and only 6x faster to evaluate. The HEDH example in [6]’s spreadsheet has
an error and uses 0.044 instead of 0.44 in the equation.

References

[1], [2], [3], [4], [5], [6]

Examples

>>> baffle_leakage_Bell(1, 3, 8)
0.5906621282470
>>> baffle_leakage_Bell(1, 3, 8, 'HEDH')
0.5530236260777

ht.conv_tube_bank.bundle_bypassing_Bell(bypass_area_fraction, seal_strips, crossflow_rows,


laminar=False, method='spline')
Calculate the bundle bypassing effect Jb according to the Bell-Delaware method for heat exchanger design. Cubic
spline interpolation is the default method of retrieving a value from the graph, which was digitized with Engauge-
Digitizer.
The Heat Exchanger Design Handbook [4] provides a curve fit as well. This method is not recommended, but
can be used via the method “HEDH”:
[︁ ]︁
𝐽𝑏 = exp −1.25𝐹𝑠𝑏𝑝 (1 − 2𝑟𝑠𝑠 1/3 )

For laminar flows, replace 1.25 with 1.35.


Parameters
bypass_area_fraction [float] Fraction of the crossflow area which is not blocked by a baffle or
anything else and available for bypassing, [-]
seal_strips [int] Number of seal strips per side of a baffle added to prevent bypassing, [-]
crossflow_rows [int] The number of tube rows in the crosslfow of the baffle, [-]
laminar [bool] Whether to use the turbulent correction values or the laminar ones; the Bell-
Delaware method uses a Re criteria of 100 for this, [-]
method [str, optional] One of ‘spline’, or ‘HEDH’

158 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Returns
Jb [float] Bundle bypassing effect correction factor in the Bell-Delaware method, [-]

Notes

Takes ~5 us per call. If the bypass_area_fraction parameter is larger than 0.695, it is clipped to it.

References

[1], [2], [3], [4]

Examples

>>> bundle_bypassing_Bell(0.5, 5, 25)


0.8469611760884599

>>> bundle_bypassing_Bell(0.5, 5, 25, method='HEDH')


0.8483210970579099

ht.conv_tube_bank.dP_Kern(m, rho, mu, DShell, LSpacing, pitch, Do, NBaffles, mu_w=None)


Calculates pressure drop for crossflow across a tube bank according to the equivalent-diameter method developed
by Kern [1], presented in [2].

𝑓 (𝑚/𝑆𝑠 )2 𝐷𝑠 (𝑁𝐵 + 1)
∆𝑃 =
2𝜌𝐷𝑒 (𝜇/𝜇𝑤 )0.14

𝐷𝑆 (𝑃𝑇 − 𝐷𝑜 )𝐿𝐵
𝑆𝑆 =
𝑃𝑇
4(𝑃𝑇2 − 𝜋𝐷𝑜2 /4)
𝐷𝑒 =
𝜋𝐷𝑜
Parameters
m [float] Mass flow rate, [kg/s]
rho [float] Fluid density, [kg/m^3]
mu [float] Fluid viscosity, [Pa*s]
DShell [float] Diameter of exchanger shell, [m]
LSpacing [float] Baffle spacing, [m]
pitch [float] Tube pitch, [m]
Do [float] Tube outer diameter, [m]
NBaffles [float] Baffle count, []
mu_w [float] Fluid viscosity at wall temperature, [Pa*s]
Returns
dP [float] Pressure drop across bundle, [Pa]

1.2. API Reference 159


Heat Transfer Documentation, Release 1.0.3

Notes

Adjustment for viscosity left out of this function. Example is from [2]. Roughly 10% difference due to reading
of graph. Graph scanned from [1], and interpolation is used to read it.

References

[1], [2]

Examples

>>> dP_Kern(m=11., rho=995., mu=0.000803, mu_w=0.000657, DShell=0.584,


... LSpacing=0.1524, pitch=0.0254, Do=.019, NBaffles=22)
18980.58768759033

ht.conv_tube_bank.dP_Zukauskas(Re, n, ST, SL, D, rho, Vmax)


Calculates pressure drop for crossflow across a tube bank of tube number n at a specified Re. Method presented
in [1]. Also presented in [2].
(︂ 2 )︂
𝜌𝑉𝑚𝑎𝑥
∆𝑃 = 𝑁𝐿 𝜒 𝑓
2

Parameters
Re [float] Reynolds number, [-]
n [float] Number of tube rows, [-]
ST [float] Transverse pitch, used only by some conditions, [m]
SL [float] Longitudal pitch, used only by some conditions, [m]
D [float] Tube outer diameter, [m]
rho [float] Fluid density, [kg/m^3]
Vmax [float] Maximum velocity, [m/s]
Returns
dP [float] Pressure drop, [Pa]

Notes

Does not account for effects in a heat exchanger. Example 2 is from [2]. Matches to 0.3%; figures are very
approximate. Interpolation used with 4 graphs to obtain friction factor and a correction factor.

160 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

References

[1], [2]

Examples

>>> dP_Zukauskas(Re=13943., n=7, ST=0.0313, SL=0.0343, D=0.0164, rho=1.217, Vmax=12.


˓→6)

235.22916169
>>> dP_Zukauskas(Re=13943., n=7, ST=0.0313, SL=0.0313, D=0.0164, rho=1.217, Vmax=12.
˓→6)

217.0750033

ht.conv_tube_bank.laminar_correction_Bell(Re, total_row_passes)
Calculate the correction factor for adverse temperature gradient built up in laminar flow Jr.
This correction begins at Re = 100, and is interpolated between the value of the formula until Re = 20, when it
is the value of the formula. It is 1 for Re >= 100. The value of the formula is not allowed to be less than 0.4.
(︂ )︂0.18
10
𝐽𝑟* =
𝑁𝑟𝑜𝑤,𝑝𝑎𝑠𝑠𝑒𝑠,𝑡𝑜𝑡

Parameters
Re [float] Shell Reynolds number in the Bell-Delaware method, [-]
total_row_passes [int] The total number of rows passed by the fluid, including those in windows
and counting repeat passes of tube rows, [-]
Returns
Jr [float] Correction factor for adverse temperature gradient built up in laminar flow, [-]

Notes

[5] incorrectly uses the number of tube rows per crosslfow section, not total.

References

[1], [2], [3], [4], [5]

Examples

>>> laminar_correction_Bell(30, 80)


0.7267995454361379

ht.conv_tube_bank.unequal_baffle_spacing_Bell(baffles, baffle_spacing, baffle_spacing_in=None,


baffle_spacing_out=None, laminar=False)
Calculate the correction factor for unequal baffle spacing Js, which accounts for higher velocity of fluid flow and
greater heat transfer coefficients when the in and/or out baffle spacing is less than the standard spacing.

(𝑛𝑏 − 1) + (𝐵𝑖𝑛 /𝐵)(1−𝑛𝑏 ) + (𝐵𝑜𝑢𝑡 /𝐵)(1−𝑛𝑏 )


𝐽𝑠 =
(𝑛𝑏 − 1) + (𝐵𝑖𝑛 /𝐵) + (𝐵𝑜𝑢𝑡 /𝐵)

1.2. API Reference 161


Heat Transfer Documentation, Release 1.0.3

Parameters
baffles [int] Number of baffles, [-]
baffle_spacing [float] Average spacing between one end of one baffle to the start of the next
baffle for non-exit baffles, [m]
baffle_spacing_in [float, optional] Spacing between entrace to first baffle, [m]
baffle_spacing_out [float, optional] Spacing between last baffle and exit, [m]
laminar [bool, optional] Whether to use the turbulent exponent or the laminar one; the Bell-
Delaware method uses a Re criteria of 100 for this, [-]
Returns
Js [float] Unequal baffle spacing correction factor, [-]

References

[1], [2], [3], [4], [5]

Examples

>>> unequal_baffle_spacing_Bell(16, .1, .15, 0.15)


0.9640087802805195

1.2.16 Non boiling and non condensing two-phase heat transfer


(ht.conv_two_phase)

ht.conv_two_phase.Aggour(m, x, alpha, D, rhol, Cpl, kl, mu_b, mu_w=None, L=None, turbulent=None)


Calculates the two-phase non-boiling laminar heat transfer coefficient of a liquid and gas flowing inside a tube
of any inclination, as in [1] and reviewed in [2].
Laminar for Rel <= 2000:
(︂ )︂1/3 (︂ )︂0.14
𝑘𝑙 𝑅𝑒𝑙 𝑃 𝑟𝑙 𝐷 𝜇𝑏
ℎ𝑇 𝑃 = 1.615
𝐷 𝐿 𝜇𝑤

Turbulent for Rel > 2000:


𝑘𝑙 0.5 0.83
ℎ𝑇 𝑃 = 0.0155 𝑃 𝑟 𝑅𝑒𝑙
𝐷 𝑙
𝜌 𝑙 𝑣𝑙 𝐷
𝑅𝑒𝑙 =
𝜇𝑙
𝑉𝑙𝑠
𝑉𝑙 =
1−𝛼
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific tube interval [-]
alpha [float] Void fraction in the tube, [-]
D [float] Diameter of the tube [m]

162 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

rhol [float] Density of the liquid [kg/m^3]


Cpl [float] Constant-pressure heat capacity of liquid [J/kg/K]
kl [float] Thermal conductivity of liquid [W/m/K]
mu_b [float] Viscosity of liquid at bulk conditions (average of inlet/outlet temperature) [Pa*s]
mu_w [float, optional] Viscosity of liquid at wall temperature [Pa*s]
L [float, optional] Length of the tube, [m]
turbulent [bool or None, optional] Whether or not to force the correlation to return the turbulent
result; will return the laminar regime if False
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

Developed with mixtures of air-water, helium-water, and freon-12-water and vertical tests. Studied flow patterns
were bubbly, slug, annular, bubbly-slug, and slug-annular regimes. Superficial velocity ratios ranged from 0.02
to 470.
A viscosity correction is only suggested for the laminar regime. If the viscosity at the wall temperature is not
given, the liquid viscosity correction is not applied.

References

[1], [2]

Examples

>>> Aggour(m=1, x=.9, D=.3, alpha=.9, rhol=1000, Cpl=2300, kl=.6, mu_b=1E-3)


420.9347146885667

ht.conv_two_phase.Davis_David(m, x, D, rhol, rhog, Cpl, kl, mul)


Calculates the two-phase non-boiling heat transfer coefficient of a liquid and gas flowing inside a tube of any
inclination, as in [1] and reviewed in [2].
(︂ )︂0.28 (︂ )︂0.87 (︂ )︂0.4
ℎ𝑇 𝑃 𝐷 𝜌𝐿 𝐷𝐺𝑇 𝑃 𝑥 𝐶𝑝,𝐿 𝜇𝐿
= 0.060
𝑘𝑙 𝜌𝐺 𝜇𝐿 𝑘𝐿
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific tube interval [-]
D [float] Diameter of the tube [m]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Cpl [float] Constant-pressure heat capacity of liquid [J/kg/K]
kl [float] Thermal conductivity of liquid [W/m/K]
mul [float] Viscosity of liquid [Pa*s]

1.2. API Reference 163


Heat Transfer Documentation, Release 1.0.3

Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

Developed for both vertical and horizontal flow, and flow patters of annular or mist annular flow. Steam-water
and air-water were the only considered fluid combinations. Quality ranged from 0.1 to 1 in their data. [1] claimed
an AAE of 17%.

References

[1], [2]

Examples

>>> Davis_David(m=1, x=.9, D=.3, rhol=1000, rhog=2.5, Cpl=2300, kl=.6,


... mul=1E-3)
1437.3282869955121

ht.conv_two_phase.Elamvaluthi_Srinivas(m, x, D, rhol, rhog, Cpl, kl, mug, mu_b, mu_w=None)


Calculates the two-phase non-boiling heat transfer coefficient of a liquid and gas flowing inside a tube of any
inclination, as in [1] and reviewed in [2].
(︂ )︂0.25
ℎ𝑇 𝑃 𝐷 𝜇𝐺 0.7 1/3
= 0.5 𝑅𝑒𝑀 𝑃 𝑟𝐿 (𝜇𝑏 /𝜇𝑤 )0.14
𝑘𝐿 𝜇𝐿

𝐷𝑉𝐿 𝜌𝐿 𝐷𝑉𝑔 𝜌𝑔
𝑅𝑒𝑀 = +
𝜇𝐿 𝜇𝑔
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific tube interval [-]
D [float] Diameter of the tube [m]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Cpl [float] Constant-pressure heat capacity of liquid [J/kg/K]
kl [float] Thermal conductivity of liquid [W/m/K]
mug [float] Viscosity of gas [Pa*s]
mu_b [float] Viscosity of liquid at bulk conditions (average of inlet/outlet temperature) [Pa*s]
mu_w [float, optional] Viscosity of liquid at wall temperature [Pa*s]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

164 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Notes

If the viscosity at the wall temperature is not given, the liquid viscosity correction is not applied.
Developed for vertical flow, and flow patters of bubbly and slug. Gas/liquid superficial velocity ratios from 0.3 to
4.6, liquid mass fluxes from 200 to 1600 kg/m^2/s, and the fluids tested were air-water and air-aqueous glycerine
solutions. The tube inner diameter was 1 cm, and the L/D ratio was 86.

References

[1], [2]

Examples

>>> Elamvaluthi_Srinivas(m=1, x=.9, D=.3, rhol=1000, rhog=2.5, Cpl=2300,


... kl=.6, mug=1E-5, mu_b=1E-3, mu_w=1.2E-3)
3901.2134471578584

ht.conv_two_phase.Groothuis_Hendal(m, x, D, rhol, rhog, Cpl, kl, mug, mu_b, mu_w=None, water=False)


Calculates the two-phase non-boiling heat transfer coefficient of a liquid and gas flowing inside a tube of any
inclination, as in [1] and reviewed in [2].
𝐷𝑉𝑙𝑠 𝜌𝑙 𝐷𝑉𝑔𝑠 𝜌𝑔
𝑅𝑒𝑀 = +
𝜇𝑙 𝜇𝑔
For the air-water system:
ℎ𝑇 𝑃 𝐷 1/3
= 0.029𝑅𝑒0.87
𝑀 𝑃 𝑟𝑙 (𝜇𝑏 /𝜇𝑤 )
0.14
𝑘𝐿
For gas/air-oil systems (default):
ℎ𝑇 𝑃 𝐷 0.39 1/3
= 2.6𝑅𝑒𝑀 𝑃 𝑟𝑙 (𝜇𝑏 /𝜇𝑤 )0.14
𝑘𝐿
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific tube interval [-]
D [float] Diameter of the tube [m]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Cpl [float] Constant-pressure heat capacity of liquid [J/kg/K]
kl [float] Thermal conductivity of liquid [W/m/K]
mug [float] Viscosity of gas [Pa*s]
mu_b [float] Viscosity of liquid at bulk conditions (average of inlet/outlet temperature) [Pa*s]
mu_w [float, optional] Viscosity of liquid at wall temperature [Pa*s]
water [bool, optional] Whether to use the water-air correlation or the gas/air-oil correlation
Returns
h [float] Heat transfer coefficient [W/m^2/K]

1.2. API Reference 165


Heat Transfer Documentation, Release 1.0.3

Notes

If the viscosity at the wall temperature is not given, the liquid viscosity correction is not applied.
Developed for vertical pipes, with superficial velocity ratios of 0.6-250. Tested fluids were air-water, and gas/air-
oil.

References

[1], [2]

Examples

>>> Groothuis_Hendal(m=1, x=.9, D=.3, rhol=1000, rhog=2.5, Cpl=2300, kl=.6,


... mug=1E-5, mu_b=1E-3, mu_w=1.2E-3)
1192.9543445455754

ht.conv_two_phase.Hughmark(m, x, alpha, D, L, Cpl, kl, mu_b=None, mu_w=None)


Calculates the two-phase non-boiling laminar heat transfer coefficient of a liquid and gas flowing inside a tube
of any inclination, as in [1] and reviewed in [2].
(︂ )︂1/3 (︂ )︂0.14
ℎ𝑇 𝑃 𝐷 𝑚𝑙 𝐶𝑝,𝑙 𝜇𝑏
= 1.75(1 − 𝛼)−0.5
𝑘𝑙 (1 − 𝛼)𝑘𝑙 𝐿 𝜇𝑤

Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific tube interval []
alpha [float] Void fraction in the tube, []
D [float] Diameter of the tube [m]
L [float] Length of the tube, [m]
Cpl [float] Constant-pressure heat capacity of liquid [J/kg/K]
kl [float] Thermal conductivity of liquid [W/m/K]
mu_b [float] Viscosity of liquid at bulk conditions (average of inlet/outlet temperature) [Pa*s]
mu_w [float, optional] Viscosity of liquid at wall temperature [Pa*s]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

This model is based on a laminar entry length correlation - for a sufficiently long tube, this will predict unreal-
istically low heat transfer coefficients.
If the viscosity at the wall temperature is not given, the liquid viscosity correction is not applied.
Developed for horizontal pipes in laminar slug flow. Data consisted of the systems air-water, air-SAE 10 oil,
gas-oil, air-diethylene glycol, and air-aqueous glycerine.

166 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

References

[1], [2]

Examples

>>> Hughmark(m=1, x=.9, alpha=.9, D=.3, L=.5, Cpl=2300, kl=0.6, mu_b=1E-3,


... mu_w=1.2E-3)
212.7411636127175

ht.conv_two_phase.Knott(m, x, D, rhol, rhog, Cpl=None, kl=None, mu_b=None, mu_w=None, L=None,


hl=None)
Calculates the two-phase non-boiling heat transfer coefficient of a liquid and gas flowing inside a tube of any
inclination, as in [1] and reviewed in [2].
Either a specified hl is required, or Cpl, kl, mu_b, mu_w and L are required to calculate hl.
(︂ )︂1/3
ℎ𝑇 𝑃 𝑉𝑔𝑠
= 1+
ℎ𝑙 𝑉𝑙𝑠

Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific tube interval [-]
D [float] Diameter of the tube [m]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Cpl [float, optional] Constant-pressure heat capacity of liquid [J/kg/K]
kl [float, optional] Thermal conductivity of liquid [W/m/K]
mu_b [float, optional] Viscosity of liquid at bulk conditions (average of inlet/outlet temperature)
[Pa*s]
mu_w [float, optional] Viscosity of liquid at wall temperature [Pa*s]
L [float, optional] Length of the tube [m]
hl [float, optional] Liquid-phase heat transfer coefficient as described below, [W/m^2/K]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

The liquid-only heat transfer coefficient will be calculated with the laminar_entry_Seider_Tate correlation,
should it not be provided as an input. Many of the arguments to this function are optional and are only used
if hl is not provided.
hl should be calculated with a velocity equal to that determined with a combined volumetric flow of both the
liquid and the gas. All other parameters used in calculating the heat transfer coefficient are those of the liquid. If
the viscosity at the wall temperature is not given, the liquid viscosity correction in laminar_entry_Seider_Tate
is not applied.

1.2. API Reference 167


Heat Transfer Documentation, Release 1.0.3

References

[1], [2]

Examples

>>> Knott(m=1, x=.9, D=.3, rhol=1000, rhog=2.5, Cpl=2300, kl=.6, mu_b=1E-3,


... mu_w=1.2E-3, L=4)
4225.536758045839

ht.conv_two_phase.Kudirka_Grosh_McFadden(m, x, D, rhol, rhog, Cpl, kl, mug, mu_b, mu_w=None)


Calculates the two-phase non-boiling heat transfer coefficient of a liquid and gas flowing inside a tube of any
inclination, as in [1] and reviewed in [2].
(︂ )︂0.125 (︂ )︂0.6 (︂ )︂0.14
ℎ𝑇 𝑃 𝐷 𝑉𝑔𝑠 𝜇𝑔 0.25 1/3 𝜇𝑏
𝑁𝑢 = = 125 𝑅𝑒𝑙𝑠 𝑃 𝑟𝑙
𝑘𝑙 𝑉𝑙𝑠 𝜇𝑙 𝜇𝑤

Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific tube interval [-]
D [float] Diameter of the tube [m]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Cpl [float] Constant-pressure heat capacity of liquid [J/kg/K]
kl [float] Thermal conductivity of liquid [W/m/K]
mug [float] Viscosity of gas [Pa*s]
mu_b [float] Viscosity of liquid at bulk conditions (average of inlet/outlet temperature) [Pa*s]
mu_w [float, optional] Viscosity of liquid at wall temperature [Pa*s]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

If the viscosity at the wall temperature is not given, the liquid viscosity correction is not applied.
Developed for air-water and air-ethylene glycol systems with a L/D of 17.6 and at low gas-liquid ratios. The flow
regimes studied were bubble, slug, and froth flow.

168 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

References

[1], [2]

Examples

>>> Kudirka_Grosh_McFadden(m=1, x=.9, D=.3, rhol=1000, rhog=2.5, Cpl=2300,


... kl=.6, mug=1E-5, mu_b=1E-3, mu_w=1.2E-3)
303.9941255903587

ht.conv_two_phase.Martin_Sims(m, x, D, rhol, rhog, hl=None, Cpl=None, kl=None, mu_b=None,


mu_w=None, L=None)
Calculates the two-phase non-boiling heat transfer coefficient of a liquid and gas flowing inside a tube of any
inclination, as in [1] and reviewed in [2].
√︂
ℎ𝑇 𝑃 𝑉𝑔𝑠
= 1 + 0.64
ℎ𝑙 𝑉𝑙𝑠
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific tube interval []
D [float] Diameter of the tube [m]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
hl [float, optional] Liquid-phase heat transfer coefficient as described below, [W/m^2/K]
Cpl [float, optional] Constant-pressure heat capacity of liquid [J/kg/K]
kl [float, optional] Thermal conductivity of liquid [W/m/K]
mu_b [float, optional] Viscosity of liquid at bulk conditions (average of inlet/outlet temperature)
[Pa*s]
mu_w [float, optional] Viscosity of liquid at wall temperature [Pa*s]
L [float, optional] Length of the tube [m]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

No specific suggestion for how to calculate the liquid-phase heat transfer coefficient is given in [1]; [2] suggests
to use the same procedure as in Knott.

1.2. API Reference 169


Heat Transfer Documentation, Release 1.0.3

References

[1], [2]

Examples

>>> Martin_Sims(m=1, x=.9, D=.3, rhol=1000, rhog=2.5, hl=141.2)


5563.280000000001
>>> Martin_Sims(m=1, x=.9, D=.3, rhol=1000, rhog=2.5, Cpl=2300, kl=.6,
... mu_b=1E-3, mu_w=1.2E-3, L=24)
5977.505465781747

ht.conv_two_phase.Ravipudi_Godbold(m, x, D, rhol, rhog, Cpl, kl, mug, mu_b, mu_w=None)


Calculates the two-phase non-boiling heat transfer coefficient of a liquid and gas flowing inside a tube of any
inclination, as in [1] and reviewed in [2].
(︂ )︂0.3 (︂ )︂0.2 (︂ )︂0.14
ℎ𝑇 𝑃 𝐷 𝑉𝑔𝑠 𝜇𝑔 0.6 1/3 𝜇𝑏
𝑁𝑢 = = 0.56 𝑅𝑒𝑙𝑠 𝑃 𝑟𝑙
𝑘𝑙 𝑉𝑙𝑠 𝜇𝑙 𝜇𝑤

Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific tube interval [-]
D [float] Diameter of the tube [m]
rhol [float] Density of the liquid [kg/m^3]
rhog [float] Density of the gas [kg/m^3]
Cpl [float] Constant-pressure heat capacity of liquid [J/kg/K]
kl [float] Thermal conductivity of liquid [W/m/K]
mug [float] Viscosity of gas [Pa*s]
mu_b [float] Viscosity of liquid at bulk conditions (average of inlet/outlet temperature) [Pa*s]
mu_w [float, optional] Viscosity of liquid at wall temperature [Pa*s]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

Notes

If the viscosity at the wall temperature is not given, the liquid viscosity correction is not applied.
Developed with a vertical pipe, superficial gas/liquid velocity ratios of 1-90, in the froth regime, and for fluid
mixtures of air and water, toluene, benzene, and methanol.

170 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

References

[1], [2]

Examples

>>> Ravipudi_Godbold(m=1, x=.9, D=.3, rhol=1000, rhog=2.5, Cpl=2300, kl=.6, mug=1E-


˓→5, mu_b=1E-3, mu_w=1.2E-3)

299.3796286459285

ht.conv_two_phase.h_two_phase(m, x, D, Cpl, kl, rhol=None, rhog=None, mul=None, mu_b=None,


mu_w=None, mug=None, L=None, alpha=None, method=None)
Calculates the two-phase non-boiling laminar heat transfer coefficient of a liquid and gas flowing inside a tube
according to the specified method. Nine methods are available.
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific tube interval [-]
D [float] Diameter of the tube [m]
Cpl [float] Constant-pressure heat capacity of liquid [J/kg/K]
kl [float] Thermal conductivity of liquid [W/m/K]
rhol [float, optional] Density of the liquid [kg/m^3]
rhog [float, optional] Density of the gas [kg/m^3]
mul [float, optional] Viscosity of liquid [Pa*s]
mu_b [float, optional] Viscosity of liquid at bulk conditions (average of inlet/outlet temperature)
[Pa*s]
mu_w [float, optional] Viscosity of liquid at wall temperature [Pa*s]
mug [float, optional] Viscosity of gas [Pa*s]
L [float, optional] Length of the tube, [m]
alpha [float, optional] Void fraction in the tube, [-]
Returns
h [float] Heat transfer coefficient [W/m^2/K]
Other Parameters
method [string, optional] A string of the function name to use, as in the dictionary
conv_two_phase_methods.

1.2. API Reference 171


Heat Transfer Documentation, Release 1.0.3

Notes

It is difficult to compare correlations.

Examples

>>> h_two_phase(m=1, x=.9, D=.3, alpha=.9, rhol=1000, Cpl=2300, kl=.6, mu_b=1E-3,␣


˓→mu_w=1.2E-3, L=5, method='Aggour')

420.9347146885667

ht.conv_two_phase.h_two_phase_methods(m, x, D, Cpl, kl, rhol=None, rhog=None, mul=None, mu_b=None,


mu_w=None, mug=None, L=None, alpha=None,
check_ranges=True)
Returns a list of correlation names for the case of two-phase non-boiling liquid-gas laminar flow heat transfer
inside a tube.
Parameters
m [float] Mass flow rate [kg/s]
x [float] Quality at the specific tube interval [-]
D [float] Diameter of the tube [m]
Cpl [float] Constant-pressure heat capacity of liquid [J/kg/K]
kl [float] Thermal conductivity of liquid [W/m/K]
rhol [float, optional] Density of the liquid [kg/m^3]
rhog [float, optional] Density of the gas [kg/m^3]
mul [float, optional] Viscosity of liquid [Pa*s]
mu_b [float, optional] Viscosity of liquid at bulk conditions (average of inlet/outlet temperature)
[Pa*s]
mu_w [float, optional] Viscosity of liquid at wall temperature [Pa*s]
mug [float, optional] Viscosity of gas [Pa*s]
L [float, optional] Length of the tube, [m]
alpha [float, optional] Void fraction in the tube, [-]
check_ranges [bool, optional] Whether or not to return only correlations suitable for the pro-
vided data, [-]
Returns
h [float] Heat transfer coefficient [W/m^2/K]

172 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Notes

A review of the correlations for which has the best performance has not been performed.

Examples

>>> h_two_phase_methods(m=1, x=.9, D=.3, alpha=.9, rhol=1000, Cpl=2300, kl=.6, mu_


˓→b=1E-3, mu_w=1.2E-3, L=5)[0]

'Aggour'

1.2.17 Miscellaneous utilities (ht.core)

ht.core.LMTD(Thi, Tho, Tci, Tco, counterflow=True)


Returns the log-mean temperature difference of an ideal counterflow or co-current heat exchanger.

∆𝑇1 − ∆𝑇2
∆𝑇𝐿𝑀 𝑇 𝐷 =
ln(∆𝑇1 /∆𝑇2 )

For countercurrent:
∆𝑇1 = 𝑇ℎ,𝑖 − 𝑇𝑐,𝑜
∆𝑇2 = 𝑇ℎ,𝑜 − 𝑇𝑐,𝑖
Parallel Flow Only:
∆𝑇1 = 𝑇ℎ,𝑖 − 𝑇𝑐,𝑖
∆𝑇2 = 𝑇ℎ,𝑜 − 𝑇𝑐,𝑜
Parameters
Thi [float] Inlet temperature of hot fluid, [K]
Tho [float] Outlet temperature of hot fluid, [K]
Tci [float] Inlet temperature of cold fluid, [K]
Tco [float] Outlet temperature of cold fluid, [K]
counterflow [bool, optional] Whether the exchanger is counterflow or co-current
Returns
LMTD [float] Log-mean temperature difference [K]

Notes

Any consistent set of units produces a consistent output.


For the case where the temperature difference is the same in counterflow, the arithmeric mean difference (either
difference in that case) is the correct result following evaluation of the limit.
For the same problem with the co-current case, the limit evaluates to a temperature difference of zero.

1.2. API Reference 173


Heat Transfer Documentation, Release 1.0.3

References

[1]

Examples

Example 11.1 in [1].

>>> LMTD(100., 60., 30., 40.2)


43.200409294131525
>>> LMTD(100., 60., 30., 40.2, counterflow=False)
39.75251118049003
>>> LMTD(100., 60., 20., 60)
40.0
>>> LMTD(100., 60., 20., 60, counterflow=False)
0.0

ht.core.countercurrent_hx_temperature_check(T0i, T0o, T1i, T1o)


Perform a check on two sets of temperatures that could represent a countercurrent heat exchanger, and return
whether they are possible or not.
Parameters
T0i [float] Inlet temperature of one fluid, [K]
T0o [float] Outlet temperature of one fluid, [K]
T1i [float] Inlet temperature of another fluid, [K]
T1o [float] Outlet temperature of another fluid, [K]
Returns
plausible [bool] Whether the exchange is possilble, [-]
ht.core.fin_efficiency_Kern_Kraus(Do, D_fin, t_fin, k_fin, h)
Returns the efficiency eta_f of a circular fin of constant thickness attached to a circular tube, based on the tube
diameter Do, fin diameter D_fin, fin thickness t_fin, fin thermal conductivity k_fin, and heat transfer coefficient
h.
[︂ ]︂
2𝑟𝑜 𝐼1 (𝑚𝑟𝑒 )𝐾1 (𝑚𝑟𝑜 ) − 𝐾1 (𝑚𝑟𝑒 )𝐼1 (𝑚𝑟𝑜 )
𝜂𝑓 =
𝑚(𝑟𝑒2 − 𝑟𝑜2 ) 𝐼0 (𝑚𝑟𝑜 )𝐾1 (𝑚𝑟𝑒 ) + 𝐼1 (𝑚𝑟𝑒 )𝐾0 (𝑚𝑟𝑜 )
√︃
2ℎ
𝑚=
𝑘𝑓 𝑖𝑛 𝑡𝑓 𝑖𝑛

𝑟𝑒 = 0.5𝐷𝑓 𝑖𝑛

𝑟𝑜 = 0.5𝐷𝑜
Parameters
Do [float] Outer diameter of bare pipe (as if there were no fins), [m]
D_fin [float] Outer diameter of the fin, from the center of the tube to the edge of the fin, [m]
t_fin [float] Thickness of the fin (for constant thickness fins only), [m]
k_fin [float] Thermal conductivity of the fin, [W/m/K]
h [float] Heat transfer coefficient of the finned pipe, [W/K]

174 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Returns
eta_fin [float] Fin efficiency [-]

Notes

I0, I1, K0 and K1 are modified Bessel functions of order 0 and 1, modified Bessel function of the second kind
of order 0 and 1 respectively.
A number of assumptions are made in deriving this set of equations [5]:
• 1-D radial conduction
• Steady-state operation
• No radiative heat transfer
• Temperature-independent fin thermal conductivity
• Constant heat transfer coefficient across the whole fin
• The fin base temperature is a constant value
• There is no constant resistance between the tube material and the added fin
• The surrounding fluid is at a constant temperature

References

[1], [2], [3], [4], [5]

Examples

>>> fin_efficiency_Kern_Kraus(0.0254, 0.05715, 3.8E-4, 200, 58)


0.8412588620231153

ht.core.is_heating_property(prop, prop_wall)
Checks whether or not a fluid side is being heated or cooled, from a property of the fluid at the wall and the bulk
temperature. Returns True for heating the bulk fluid, and False for cooling the bulk fluid.
Parameters
prop [float] Viscosity (or Prandtl number) of flowing fluid away from the heat transfer surface,
[Pa*s]
prop_wall [float] Viscosity (or Prandtl number) of the fluid at the wall, [Pa*s]
Returns
is_heating [bool] Whether or not the flow is being heated up by the wall, [-]

1.2. API Reference 175


Heat Transfer Documentation, Release 1.0.3

Examples

>>> is_heating_property(1E-3, 1.2E-3)


False

ht.core.is_heating_temperature(T, T_wall)
Checks whether or not a fluid side is being heated or cooled, from the temperature of the wall and the bulk
temperature. Returns True for heating the bulk fluid, and False for cooling the bulk fluid.
Parameters
T [float] Temperature of flowing fluid away from the heat transfer surface, [K]
T_wall [float] Temperature of the fluid at the wall, [K]
Returns
is_heating [bool] Whether or not the flow is being heated up by the wall, [-]

Examples

>>> is_heating_temperature(298.15, 350)


True

ht.core.wall_factor(mu=None, mu_wall=None, Pr=None, Pr_wall=None, T=None, T_wall=None,


mu_heating_coeff=0.11, mu_cooling_coeff=0.25, Pr_heating_coeff=0.11,
Pr_cooling_coeff=0.25, T_heating_coeff=0.11, T_cooling_coeff=0.25,
property_option='Prandtl')
Computes the wall correction factor for heat transfer, mass transfer, or momentum transfer between a fluid and
a wall. Utility function; the coefficients for the phenomenon must be provided to this method. The default
coefficients are for heat transfer of a turbulent liquid.
The general formula is as follows; substitute the property desired and the phenomenon desired into the equation
for things other than heat transfer.
(︂ )︂𝑛
𝑁𝑢 𝜇
=
𝑁 𝑢constant properties 𝜇𝑤𝑎𝑙𝑙

Parameters
mu [float, optional] Viscosity of flowing fluid away from the surface, [Pa*s]
mu_wall [float, optional] Viscosity of the fluid at the wall, [Pa*s]
Pr [float, optional] Prandtl number of flowing fluid away from the surface, [-]
Pr_wall [float, optional] Prandtl number of the fluid at the wall, [-]
T [float, optional] Temperature of flowing fluid away from the surface, [K]
T_wall [float, optional] Temperature of the fluid at the wall, [K]
mu_heating_coeff [float, optional] Coefficient for viscosity - surface providing heating, [-]
mu_cooling_coeff [float, optional] Coefficient for viscosity - surface providing cooling, [-]
Pr_heating_coeff [float, optional] Coefficient for Prandtl number - surface providing heating,
[-]
Pr_cooling_coeff [float, optional] Coefficient for Prandtl number - surface providing cooling,
[-]

176 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

T_heating_coeff [float, optional] Coefficient for temperature - surface providing heating, [-]
T_cooling_coeff [float, optional] Coefficient for temperature - surface providing cooling, [-]
property_option [str, optional] Which property to use for computing the correction factor; one
of ‘Viscosity’, ‘Prandtl’, or ‘Temperature’.
Returns
factor [float] Correction factor for heat transfer; to be multiplied by the Nusselt number or heat
transfer coefficient or friction factor or pressure drop to obtain the actual result, [-]

Examples

>>> wall_factor(mu=8E-4, mu_wall=3E-4, Pr=1.2, Pr_wall=1.1, T=300,


... T_wall=350, property_option='Prandtl')
1.0096172023817749

ht.core.wall_factor_Nu(mu, mu_wall, turbulent=True, liquid=False)


Computes the wall correction factor for heat transfer between a fluid and a wall. These coefficients were derived
for internal flow inside a pipe, but can be used elsewhere where appropriate data is missing. It is also useful to
compare these results with the coefficients used in various heat transfer coefficients.
(︂ )︂𝑛
𝑁𝑢 𝜇
=
𝑁 𝑢constant properties 𝜇𝑤𝑎𝑙𝑙

Parameters
mu [float] Viscosity (or Prandtl number) of flowing fluid away from the heat transfer surface,
[Pa*s]
mu_wall [float] Viscosity (or Prandtl number) of the fluid at the wall, [Pa*s]
turbulent [bool] Whether or not to use the turbulent coefficient, [-]
liquid [bool] Whether or not to use the liquid phase coefficient; otherwise the gas coefficient is
used, [-]
Returns
factor [float] Correction factor for heat transfer; to be multiplied by the Nusselt number, or heat
transfer coefficient to obtain the actual result, [-]

Notes

The exponents are determined as follows:

Regime Phase Heating Cooling


Turbulent Liquid 0.11 0.25
Turbulent Gas 0.5 0
Laminar Liquid 0.14 0.14
Laminar Gas 0 0

1.2. API Reference 177


Heat Transfer Documentation, Release 1.0.3

References

[1]

Examples

>>> wall_factor_Nu(mu=8E-4, mu_wall=3E-4, turbulent=True, liquid=True)


1.1139265634480144

>>> wall_factor_Nu(mu=8E-4, mu_wall=3E-4, turbulent=False, liquid=True)


1.147190712947014

>>> wall_factor_Nu(mu=1.5E-5, mu_wall=1.3E-5, turbulent=True, liquid=False)


1.0741723110591495

>>> wall_factor_Nu(mu=1.5E-5, mu_wall=1.3E-5, turbulent=False, liquid=False)


1.0

ht.core.wall_factor_fd(mu, mu_wall, turbulent=True, liquid=False)


Computes the wall correction factor for pressure drop due to friction between a fluid and a wall. These coefficients
were derived for internal flow inside a pipe, but can be used elsewhere where appropriate data is missing.
(︂ )︂𝑛
𝑓𝑑 𝜇
=
𝑓𝑑,constant properties 𝜇𝑤𝑎𝑙𝑙

Parameters
mu [float] Viscosity (or Prandtl number) of flowing fluid away from the wall, [Pa*s]
mu_wall [float] Viscosity (or Prandtl number) of the fluid at the wall, [Pa*s]
turbulent [bool] Whether or not to use the turbulent coefficient, [-]
liquid [bool] Whether or not to use the liquid phase coefficient; otherwise the gas coefficient is
used, [-]
Returns
factor [float] Correction factor for pressure loss; to be multiplied by the friction factor, or pres-
sure drop to obtain the actual result, [-]

Notes

The exponents are determined as follows:

Regime Phase Heating Cooling


Turbulent Liquid -0.25 -0.25
Turbulent Gas 0.1 0.1
Laminar Liquid -0.58 -0.5
Laminar Gas -1 -1

178 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

References

[1]

Examples

>>> wall_factor_fd(mu=8E-4, mu_wall=3E-4, turbulent=True, liquid=True)


0.7825422900366437

1.2.18 Heat exchanger sizing and rating (ht.hx)

ht.hx.DBundle_for_Ntubes_HEDH(N, Do, pitch, angle=30)


A rough equation presented in the HEDH for estimating the tube bundle diameter necessary to fit a given number
of tubes. No accuracy estimation given. Only 1 pass is supported.
√︂
1 √︀
𝐷𝑏𝑢𝑛𝑑𝑙𝑒 = (𝐷𝑜 + (pitch) · 𝐶1 · 𝑁 )
0.78
C1 = 0.866 for 30° and 60° layouts, and 1 for 45 and 90° layouts.
Parameters
N [float] Number of tubes, [-]
Do [float] Tube outer diameter, [m]
pitch [float] Pitch; distance between two orthogonal tube centers, [m]
angle [float] The angle the tubes are positioned; 30, 45, 60 or 90, [degrees]
Returns
DBundle [float] Outer diameter of tube bundle, [m]

Notes

Easily reversed from the main formulation.

References

[1]

Examples

>>> DBundle_for_Ntubes_HEDH(N=928, Do=.028, pitch=.036, angle=30)


1.183993079564

ht.hx.DBundle_for_Ntubes_Phadkeb(Ntubes, Do, pitch, Ntp, angle=30)


Determine the bundle diameter required to fit a specified number of tubes in a heat exchanger. Uses the highly
accurate method of [1], which takes into account pitch, number of tube passes, angle, and tube diameter. The
method is analytically correct when used in the other direction (calculating number of tubes from bundle diam-
eter); in reverse, it is solved by bisection.
Parameters

1.2. API Reference 179


Heat Transfer Documentation, Release 1.0.3

Ntubes [int] Total number of tubes that fit in the heat exchanger, [-]
Do [float] Tube outer diameter, [m]
pitch [float] Pitch; distance between two orthogonal tube centers, [m]
Ntp [int] Number of tube passes, [-]
angle [float, optional] The angle the tubes are positioned; 30, 45, 60 or 90, [degrees]
Returns
DBundle [float] Outer diameter of tube bundle, [m]

Notes

This function will fail when there are more than 100,000 tubes. There are a range of correct diameters for which
there can be the given number of tubes; a number within that range is returned as found by bisection.

References

[1]

Examples

>>> DBundle_for_Ntubes_Phadkeb(Ntubes=782, Do=.028, pitch=.036, Ntp=2, angle=45.)


1.1879392959379533

ht.hx.DBundle_min(Do)
Very roughly, determines a good choice of shell diameter for a given tube outer diameter, according to figure 1,
section 3.3.5 in [1].
Parameters
Do [float] Tube outer diameter, [m]
Returns
DShell [float] Shell inner diameter, optional, [m]

Notes

This function should be used if a tube diameter is specified but not a shell size. DShell will have to be adjusted
later, once the area requirement is known. This function is essentially a lookup table.

References

[1]

180 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Examples

>>> DBundle_min(0.0254)
1.0

ht.hx.D_baffle_holes(do, L_unsupported)
Determines the diameter of holes in baffles for tubes according to TEMA [1]. Applies for all geometries.
Parameters
do [float] Tube outer diameter, [m]
L_unsupported [float] Distance between tube supports, [m]
Returns
dB [float] Baffle hole diameter, [m]

References

[1]

Examples

>>> D_baffle_holes(do=.0508, L_unsupported=0.75)


0.0516
>>> D_baffle_holes(do=0.01905, L_unsupported=0.3)
0.01985
>>> D_baffle_holes(do=0.01905, L_unsupported=1.5)
0.019450000000000002

ht.hx.D_for_Ntubes_VDI(N, Ntp, Do, pitch, angle=30)


A rough equation presented in the VDI Heat Atlas for estimating the size of a tube bundle from a given number
of tubes, number of tube passes, outer tube diameter, pitch, and arrangement. No accuracy estimation given.

√︁
𝑂𝑇 𝐿 = 𝑓1 𝑧𝑡2 + 𝑓2 𝑡 𝑧 − 𝑑𝑜

Parameters
N [float] Number of tubes, [-]
Ntp [float] Number of tube passes, [-]
Do [float] Tube outer diameter, [m]
pitch [float] Pitch; distance between two orthogonal tube centers, [m]
angle [float] The angle the tubes are positioned; 30, 45, 60 or 90
Returns
DBundle [float] Outer diameter of tube bundle, [m]

1.2. API Reference 181


Heat Transfer Documentation, Release 1.0.3

Notes

f1 = 1.1 for triangular, 1.3 for square patterns f2 is as follows: 1 pass, 0; 2 passes, 22; 4 passes, 70; 8 passes, 105.
6 tube passes is not officially supported, only 1, 2, 4 and 8. However, an estimated constant has been added to
support it. f2 = 90.

References

[1]

Examples

>>> D_for_Ntubes_VDI(N=970, Ntp=2., Do=0.00735, pitch=0.015, angle=30.)


0.5003600119829544

ht.hx.F_LMTD_Fakheri(Thi, Tho, Tci, Tco, shells=1)


Calculates the log-mean temperature difference correction factor Ft for a shell-and-tube heat exchanger with one
or an even number of tube passes, and a given number of shell passes, with the expression given in [1] and also
shown in [2].
𝑆 ln 𝑊
𝐹𝑡 = 1+𝑊 −𝑆+𝑆𝑊
ln 1+𝑊 +𝑆−𝑆𝑊

𝑅2 + 1
𝑆=
𝑅−1
(︂ )︂1/𝑁
1 − 𝑃𝑅
𝑊 =
1−𝑃
𝑇𝑖𝑛 − 𝑇𝑜𝑢𝑡
𝑅=
𝑡𝑜𝑢𝑡 − 𝑡𝑖𝑛
𝑡𝑜𝑢𝑡 − 𝑡𝑖𝑛
𝑃 =
𝑇𝑖𝑛 − 𝑡𝑖𝑛
If R = 1 and logarithms cannot be evaluated:
𝑁 − 𝑁𝑃
𝑊′ =
𝑁 − 𝑁𝑃 + 𝑃
√ 1−𝑊 ′
2 𝑊′
𝐹𝑡 = 𝑊′
1−𝑊 ′
+ √12
ln 𝑊′
1−𝑊 ′
− √12

Parameters
Thi [float] Inlet temperature of hot fluid, [K]
Tho [float] Outlet temperature of hot fluid, [K]
Tci [float] Inlet temperature of cold fluid, [K]
Tco [float] Outlet temperature of cold fluid, [K]
shells [int, optional] Number of shell-side passes, [-]
Returns
Ft [float] Log-mean temperature difference correction factor, [-]

182 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Notes

This expression is symmetric - the same result is calculated if the cold side values are swapped with the hot side
values. It also does not depend on the units of the temperature given.

References

[1], [2]

Examples

>>> F_LMTD_Fakheri(Tci=15, Tco=85, Thi=130, Tho=110, shells=1)


0.9438358829645933

ht.hx.L_unsupported_max(Do, material='CS')
Determines the maximum length of a heat exchanger tube can go without a support, according to TEMA [1].
The limits provided apply for the worst-case temperature allowed for the material to be used at.
Parameters
Do [float] Outer tube diameter, [m]
material [str] Material type, either ‘CS’ or ‘aluminium’, [-]
Returns
L_unsupported [float] Maximum length of unsupported tube, [m]

Notes

The ‘CS’ results is also listed as representing high alloy steel, low alloy steel, nickel-copper, nickel, and nickel-
chromium-iron alloys. The ‘aluminium’ results are those of copper and copper alloys and also titanium alloys.
The maximum and minimum tube outer diameter tabulated are 3 inch and 1/4 inch respectively. The result
is returned for the nearest tube diameter equal or smaller than the provided diameter, which helps ensures the
returned tube length will not be optimistic. However, if the diameter is under 0.25 inches, the result will be
optimistic!

References

[1]

Examples

>>> L_unsupported_max(Do=.0254, material='CS')


1.88

ht.hx.NTU_from_P_E(P1, R1, Ntp, optimal=True)


Returns the number of transfer units of a TEMA E type heat exchanger with a specified (for side 1) thermal
effectiveness P1, heat capacity ratio R1, the number of tube passes Ntp, and for the two-pass case whether or not
the inlets are arranged optimally. The supported cases are as follows:
• 1-1 TEMA E, shell fluid mixed

1.2. API Reference 183


Heat Transfer Documentation, Release 1.0.3

• 1-2 TEMA E, shell fluid mixed (this configuration is symmetric)


• 1-2 TEMA E, shell fluid split into two steams individually mixed
• 1-3 TEMA E, shell and tube fluids mixed, one parallel pass and two counterflow passes (efficient)
• 1-3 TEMA E, shell and tube fluids mixed, two parallel passes and one counteflow pass (inefficient)
• 1-N TEMA E, shall and tube fluids mixed, efficient counterflow orientation, N an even number
Two of these cases have analytical solutions; the rest use numerical solvers of varying quality.
The analytical solution to 1-1 TEMA E, shell fluid mixed (the same as pure counterflow):
(︂ )︂
1 𝑃1 𝑅 1 − 1
𝑁 𝑇 𝑈1 = − ln
𝑅1 − 1 𝑃1 − 1

1-2 TEMA E, shell fluid mixed:


(︃√︃ √︀ )︃
2 𝑃1 𝑅 1 − 𝑃1 𝑅12 + 1 + 𝑃1 − 2
𝑁 𝑇 𝑈1 = √︀ 2 ln √︀
𝑅1 + 1 𝑃1 𝑅 1 + 𝑃1 𝑅12 + 1 + 𝑃1 − 2

Parameters
P1 [float] Thermal effectiveness of the heat exchanger in the P-NTU method, calculated with
respect to stream 1 [-]
R1 [float] Heat capacity ratio of the heat exchanger in the P-NTU method, calculated with respect
to stream 1 (shell side = 1, tube side = 2) [-]
Ntp [int] Number of tube passes, 1, 2, 3, 4, or an even number [-]
optimal [bool, optional] Whether or not the arrangement is configured to give more of a coun-
tercurrent and efficient (True) case or an inefficient parallel case, [-]
Returns
NTU1 [float] Thermal number of transfer units of the heat exchanger in the P-NTU method,
calculated with respect to stream 1 (shell side = 1, tube side = 2) [-]

Notes

For odd numbers of tube passes greater than 3, an exception is raised.


For the 2 pass, unoptimal case, a bounded solver is used with NTU1 between 1E-11 and 100; the solution to any
feasible P1 was found to lie in there. For the 4 or a higher even number of pass case, the upper limit on NTU1 is
1000; this solver works pretty well, but as NTU1 reaches its limit the change in P1 is so small a smaller but also
correct solution is often returned.
For both the optimal and unoptimal 3 tube pass case, a solution is only returned if NTU1 is between 1E-11
and 10. These functions are extremely mathematically frustrating, and as NTU1 rises above 10 catastrophic
cancellation quickly results in this expression finding a ZeroDivisionError. The use of arbitrary prevision helps
little - quickly 1000 digits are needed, and then 1000000 digits, and so one. Using SymPy’s rational number
support works better but is extremely slow for these complicated solutions. Nevertheless, so long as a solution
is between 1E-11 and 10, the solver is quite robust.

184 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Examples

>>> NTU_from_P_E(P1=.58, R1=1/3., Ntp=2)


1.0381979240816719

ht.hx.NTU_from_P_G(P1, R1, Ntp, optimal=True)


Returns the number of transfer units of a TEMA G type heat exchanger with a specified (for side 1) thermal
effectiveness P1, heat capacity ratio R1, the number of tube passes Ntp, and for the two-pass case whether or not
the inlets are arranged optimally. The supported cases are as follows:
• One tube pass (tube fluid split into two streams individually mixed, shell fluid mixed)
• Two tube passes (shell and tube exchanger with shell and tube fluids mixed in each pass at the cross section),
counterflow arrangement
• Two tube passes (shell and tube exchanger with shell and tube fluids mixed in each pass at the cross section),
parallelflow arrangement

Parameters
P1 [float] Thermal effectiveness of the heat exchanger in the P-NTU method, calculated with
respect to stream 1 [-]
R1 [float] Heat capacity ratio of the heat exchanger in the P-NTU method, calculated with respect
to stream 1 (shell side = 1, tube side = 2) [-]
Ntp [int] Number of tube passes, 1 or 2 [-]
optimal [bool, optional] Whether or not the arrangement is configured to give more of a counter-
current and efficient (True) case or an inefficient parallel case (only applies for two passes),
[-]
Returns
NTU1 [float] Thermal number of transfer units of the heat exchanger in the P-NTU method,
calculated with respect to stream 1 (shell side = 1, tube side = 2) [-]

Notes

For numbers of tube passes greater than 1 or 2, an exception is raised.


Although this function allows the thermal effectiveness desired to be specified, it does not mean such a high
value can be obtained. An exception is raised which shows the maximum possible effectiveness obtainable at the
specified R1 and configuration.

>>> NTU_from_P_G(P1=1, R1=1/3., Ntp=2)


Traceback (most recent call last):
ValueError: No solution possible gives such a high P1; maximum P1=0.954545 at␣
˓→NTU1=10000.000000

Of the three configurations, 1 pass and the optimal 2 pass have monotonic functions which allow for a bounded
solver to work smoothly. In both cases a solution is searched for between NTU1 values of 1E-11 and 1E-4.
For the 2 pass unoptimal solution, a bounded solver is first use, but the upper bound on P1 and the upper NTU1
limit is calculated from a pade approximation performed with mpmath.

1.2. API Reference 185


Heat Transfer Documentation, Release 1.0.3

Examples

>>> NTU_from_P_G(P1=.573, R1=1/3., Ntp=1)


0.9999513707759524

ht.hx.NTU_from_P_H(P1, R1, Ntp, optimal=True)


Returns the number of transfer units of a TEMA H type heat exchanger with a specified (for side 1) thermal
effectiveness P1, heat capacity ratio R1, the number of tube passes Ntp, and for the two-pass case whether or not
the inlets are arranged optimally. The supported cases are as follows:
• One tube pass (tube fluid split into two streams individually mixed, shell fluid mixed)
• Two tube passes (shell fluid mixed, tube pass mixed between passes)
• Two tube passes (shell fluid mixed, tube pass mixed between passes, inlet tube side next to inlet shell-side)

Parameters
P1 [float] Thermal effectiveness of the heat exchanger in the P-NTU method, calculated with
respect to stream 1 [-]
R1 [float] Heat capacity ratio of the heat exchanger in the P-NTU method, calculated with respect
to stream 1 (shell side = 1, tube side = 2) [-]
Ntp [int] Number of tube passes, 1, or 2, [-]
optimal [bool, optional] Whether or not the arrangement is configured to give more of a coun-
tercurrent and efficient (True) case or an inefficient parallel case, [-]
Returns
NTU1 [float] Thermal number of transfer units of the heat exchanger in the P-NTU method,
calculated with respect to stream 1 (shell side = 1, tube side = 2) [-]

Notes

For numbers of tube passes greater than 1 or 2, an exception is raised.


Only numerical solutions are available for this function. For the case of 1 tube pass or the optimal 2 tube pass, the
function is monotonic and a bounded solver is used with NTU1 between 1E-11 and 100; it will find the solution
anywhere in that range.
For the non-optimal 2 pass case, the function is not monotonic and a pade approximation was used to obtain a
curve of NTU1s which give the maximum P1s which is used as the upper bound in the bounded solver. The
lower bound is still 1E-11. These solvers are all robust.

Examples

>>> NTU_from_P_H(P1=0.573, R1=1/3., Ntp=1)


0.9997628696891168

ht.hx.NTU_from_P_J(P1, R1, Ntp)


Returns the number of transfer units of a TEMA J type heat exchanger with a specified (for side 1) thermal
effectiveness P1, heat capacity ratio R1, and the number of tube passes Ntp. The supported cases are as follows:
• One tube pass (shell fluid mixed)
• Two tube passes (shell fluid mixed, tube pass mixed between passes)

186 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

• Four tube passes (shell fluid mixed, tube pass mixed between passes)

Parameters
P1 [float] Thermal effectiveness of the heat exchanger in the P-NTU method, calculated with
respect to stream 1 [-]
R1 [float] Heat capacity ratio of the heat exchanger in the P-NTU method, calculated with respect
to stream 1 (shell side = 1, tube side = 2) [-]
Ntp [int] Number of tube passes, 1, 2, or 4, [-]
Returns
NTU1 [float] Thermal number of transfer units of the heat exchanger in the P-NTU method,
calculated with respect to stream 1 (shell side = 1, tube side = 2) [-]

Notes

For numbers of tube passes that are not 1, 2, or 4, an exception is raised.


For the 1 tube pass case, a bounded solver is used to solve the equation numerically, with NTU1 ranging from
1E-11 to 1E3. NTU1 grows extremely quickly near its upper limit (NTU1 diverges to infinity at this maximum,
but because the solver is bounded it will only increase up to 1000 before an exception is raised).

>>> NTU_from_P_J(P1=.995024, R1=.01, Ntp=1)


13.940758768266656
>>> NTU_from_P_J(P1=.99502487562189, R1=.01, Ntp=1)
Traceback (most recent call last):
ValueError: No solution possible gives such a high P1; maximum P1=0.995025 at␣
˓→NTU1=1000.000000

For the 2 pass and 4 pass solution, a bounded solver is first use, but the upper bound on P1 and the upper NTU1
limit is calculated from a pade approximation performed with mpmath. These normally do not allow NTU1 to
rise above 100.

Examples

>>> NTU_from_P_J(P1=.57, R1=1/3., Ntp=1)


1.0003070138879664

ht.hx.NTU_from_P_basic(P1, R1, subtype='crossflow')


Returns the number of transfer units of a basic heat exchanger type with a specified (for side 1) thermal effec-
tiveness P1, and heat capacity ratio R1. The supported cases are as follows:
• Counterflow (ex. double-pipe) [analytical]
• Parallel (ex. double pipe inefficient configuration) [analytical]
• Crossflow, single pass, fluids unmixed [numerical]
• Crossflow, single pass, fluid 1 mixed, fluid 2 unmixed [analytical]
• Crossflow, single pass, fluid 2 mixed, fluid 1 unmixed [analytical]
• Crossflow, single pass, both fluids mixed [numerical]

1.2. API Reference 187


Heat Transfer Documentation, Release 1.0.3

The analytical solutions, for those cases they are available, are as follows:
Counterflow:
(︂ )︂
1 𝑃1 𝑅 1 − 1
𝑁 𝑇 𝑈1 = − ln
𝑅1 − 1 𝑃1 − 1

Parallel:
(︂ )︂
1 1
𝑁 𝑇 𝑈1 = ln −
𝑅1 + 1 𝑃1 (𝑅1 + 1) − 1

Crossflow, single pass, fluid 1 mixed, fluid 2 unmixed:


1 (︁ (︁ 1
)︁)︁
𝑁 𝑇 𝑈1 = − ln 𝑅1 ln − (𝑃1 − 1) 𝑒 𝑅1
𝑅1
Crossflow, single pass, fluid 2 mixed, fluid 1 unmixed
(︂ )︂
1 (︀ 𝑅1
)︀
𝑁 𝑇 𝑈1 = − ln ln − (𝑃1 𝑅1 − 1) 𝑒
𝑅1

Parameters
P1 [float] Thermal effectiveness of the heat exchanger in the P-NTU method, calculated with
respect to stream 1 [-]
R1 [float] Heat capacity ratio of the heat exchanger in the P-NTU method, calculated with respect
to stream 1 [-]
subtype [float] The type of heat exchanger; one of ‘counterflow’, ‘parallel’, ‘crossflow’, ‘cross-
flow approximate’, ‘crossflow, mixed 1’, ‘crossflow, mixed 2’, ‘crossflow, mixed 1&2’.
Returns
NTU1 [float] Thermal number of transfer units of the heat exchanger in the P-NTU method,
calculated with respect to stream 1 [-]

Notes

Although this function allows the thermal effectiveness desired to be specified, it does not mean such a high
value can be obtained. An exception is raised when this occurs, although not always a helpful one.

>>> NTU_from_P_basic(P1=.99, R1=.1, subtype='parallel')


Traceback (most recent call last):
ValueError: math domain error

For the ‘crossflow approximate’ solution the function is monotonic, and a bounded solver is used within the range
of NTU1 from 1E-11 to 1E5.
For the full correct ‘crossflow’ solution, the initial guess for newton’s method is obtained by the ‘crossflow
approximate’ solution; the function may not converge because of inaccuracy performing the numerical integral
involved.
For the ‘crossflow, mixed 1&2’ solution, a bounded solver is first use, but the upper bound on P1 and the upper
NTU1 limit is calculated from a pade approximation performed with mpmath.

188 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Examples

>>> NTU_from_P_basic(P1=.975, R1=.1, subtype='counterflow')


3.984769850376482

ht.hx.NTU_from_P_plate(P1, R1, Np1, Np2, counterflow=True, passes_counterflow=True, reverse=False)


Returns the number of transfer units of a plate heat exchanger with a specified side 1 heat capacity ratio R1, side
1 number of transfer units NTU1, number of passes on sides 1 and 2 (respectively Np1 and Np2).
For all cases, the function also takes as arguments whether the exchanger is setup in an overall counter or parallel
orientation counterflow, and whether or not individual stream passes are themselves counterflow or parallel.
The 20 supported cases are as follows. (the first number of sides listed refers to side 1, and the second number
refers to side 2):
• 1 pass/1 pass parallelflow
• 1 pass/1 pass counterflow
• 1 pass/2 pass
• 1 pass/3 pass or 3 pass/1 pass (with the two end passes in parallel)
• 1 pass/3 pass or 3 pass/1 pass (with the two end passes in counterflow)
• 1 pass/4 pass
• 2 pass/2 pass, overall parallelflow, individual passes in parallel
• 2 pass/2 pass, overall parallelflow, individual passes counterflow
• 2 pass/2 pass, overall counterflow, individual passes parallelflow
• 2 pass/2 pass, overall counterflow, individual passes counterflow
• 2 pass/3 pass or 3 pass/2 pass, overall parallelflow
• 2 pass/3 pass or 3 pass/2 pass, overall counterflow
• 2 pass/4 pass or 4 pass/2 pass, overall parallel flow
• 2 pass/4 pass or 4 pass/2 pass, overall counterflow flow
For all except the simplest cases numerical solutions are used.
1 pass/1 pass counterflow (also 2/2 fully counterflow):
(︂ )︂
1 𝑃1 𝑅 1 − 1
𝑁 𝑇 𝑈1 = − ln
𝑅1 − 1 𝑃1 − 1
1 pass/1 pass parallel flow (also 2/2 fully parallelflow):
(︂ )︂
1 1
𝑁 𝑇 𝑈1 = ln −
𝑅1 + 1 𝑃1 (𝑅1 + 1) − 1

Parameters
P1 [float] Thermal effectiveness of the heat exchanger in the P-NTU method, calculated with
respect to stream 1 [-]
R1 [float] Heat capacity ratio of the heat exchanger in the P-NTU method, calculated with respect
to stream 1 [-]
Np1 [int] Number of passes on side 1 [-]
Np2 [int] Number of passes on side 2 [-]

1.2. API Reference 189


Heat Transfer Documentation, Release 1.0.3

counterflow [bool] Whether or not the overall flow through the heat exchanger is in counterflow
or parallel flow, [-]
passes_counterflow [bool] In addition to the overall flow direction, in some cases individual
passes may be in counter or parallel flow; this controls that [-]
reverse [bool] Used internally only to allow cases like the 1-4 formula to work for the 4-1 flow
case, without having to duplicate the code [-]
Returns
NTU1 [float] Thermal number of transfer units of the heat exchanger in the P-NTU method,
calculated with respect to stream 1 [-]

Notes

The defaults of counterflow=True and passes_counterflow=True will always result in the most efficient heat
exchanger option, normally what is desired.
If a number of passes which is not supported is provided, an exception is raised.
For more details, see temperature_effectiveness_plate.

Examples

Three passes on side 1; one pass on side 2; two end passes in counterflow orientation.

>>> NTU_from_P_plate(P1=0.5743, R1=1/3., Np1=3, Np2=1)


0.9998336056090733

ht.hx.NTU_from_UA(UA, Cmin)
Returns the Number of Transfer Units for a heat exchanger having UA, and with Cmin heat capacity rate.

𝑈𝐴
𝑁𝑇𝑈 =
𝐶𝑚𝑖𝑛
Parameters
UA [float] Combined Area-heat transfer coefficient term, [W/K]
Cmin [float] The heat capacity rate of the smaller fluid, [W/K]
Returns
NTU [float] Thermal Number of Transfer Units [-]

Notes

Used with the effectiveness method for heat exchanger design.

190 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

References

[1]

Examples

>>> NTU_from_UA(4400., 22.)


200.0

ht.hx.NTU_from_effectiveness(effectiveness, Cr, subtype='counterflow', n_shell_tube=None)


Returns the Number of Transfer Units of a heat exchanger at a specified heat capacity rate, effectiveness, and
configuration. The following configurations are supported:
• Counterflow (ex. double-pipe)
• Parallel (ex. double pipe inefficient configuration)
• Shell and tube exchangers with even numbers of tube passes, one or more shells in series (TEMA E (one
pass shell) only)
• Crossflow, single pass, fluids unmixed
• Crossflow, single pass, Cmax mixed, Cmin unmixed
• Crossflow, single pass, Cmin mixed, Cmax unmixed
• Boiler or condenser
These situations are normally not those which occur in real heat exchangers, but are useful for academic purposes.
More complicated expressions are available for other methods. These equations are confirmed in [1], [2], and
[3].
For parallel flow heat exchangers:

ln[1 − 𝜖(1 + 𝐶𝑟 )]
𝑁𝑇𝑈 = −
1 + 𝐶𝑟
For counterflow heat exchangers:
(︂ )︂
1 𝜖−1
𝑁𝑇𝑈 = ln
𝐶𝑟 − 1 𝜖𝐶𝑟 − 1
𝜖
𝑁𝑇𝑈 = if 𝐶𝑟 = 1
1−𝜖
For TEMA E shell-and-tube heat exchangers with one shell pass, 2n tube passes:
(︂ )︂
𝐸−1
(𝑁 𝑇 𝑈 )1 = −(1 + 𝐶𝑟2 )−0.5 ln
𝐸+1

2/𝜖1 − (1 + 𝐶𝑟 )
𝐸=
(1 + 𝐶𝑟2 )0.5
For TEMA E shell-and-tube heat exchangers with more than one shell pass, 2n tube passes (this model assumes
each exchanger has an equal share of the overall NTU or said more plainly, the same UA):
𝐹 −1
𝜖1 =
𝐹 − 𝐶𝑟
(︂ )︂1/𝑛
𝜖𝐶𝑟 − 1
𝐹 =
𝜖−1

1.2. API Reference 191


Heat Transfer Documentation, Release 1.0.3

𝑁 𝑇 𝑈 = 𝑛(𝑁 𝑇 𝑈 )1
For cross-flow (single-pass) heat exchangers with both fluids unmixed, there is no analytical solution. However,
the function is monotonically increasing, and a closed-form solver is implemented as ‘crossflow approximate’,
guaranteed to solve for 10−7 < 𝑁 𝑇 𝑈 < 105 . The exact solution for ‘crossflow’ uses the approximate solution’s
initial guess as a starting point for Newton’s method. Some issues are noted at effectivenesses higher than 0.9
and very high NTUs, because the numerical integral term approaches 1 too quickly.
For cross-flow (single-pass) heat exchangers with Cmax mixed, Cmin unmixed:
[︂ ]︂
1
𝑁 𝑇 𝑈 = − ln 1 + ln(1 − 𝜖𝐶𝑟 )
𝐶𝑟

For cross-flow (single-pass) heat exchangers with Cmin mixed, Cmax unmixed:
1
𝑁𝑇𝑈 = − ln[𝐶𝑟 ln(1 − 𝜖) + 1]
𝐶𝑟
For cases where Cr = 0, as in an exchanger with latent heat exchange, flow arrangement does not matter:

𝑁 𝑇 𝑈 = − ln(1 − 𝜖)

Parameters
effectiveness [float] The thermal effectiveness of the heat exchanger, [-]
Cr [float] The heat capacity rate ratio, of the smaller fluid to the larger fluid, [-]
subtype [str, optional] The subtype of exchanger; one of ‘counterflow’, ‘parallel’, ‘crossflow’
‘crossflow approximate’, ‘crossflow, mixed Cmin’, ‘crossflow, mixed Cmax’, ‘boiler’, ‘con-
denser’, ‘S&T’.
n_shell_tube [None or int, optional] The number of shell and tube exchangers in a row, [-]
Returns
NTU [float] Thermal Number of Transfer Units [-]

Notes

Unlike ht.hx.effectiveness_from_NTU, not all inputs can calculate the NTU - many exchanger types have
effectiveness limits below 1 which depend on Cr and the number of shells in the case of heat exchangers. If an
impossible input is given, an error will be raised and the maximum possible effectiveness will be printed.

>>> NTU_from_effectiveness(.99, Cr=.7, subtype='5S&T')


Traceback (most recent call last):
Exception: The specified effectiveness is not physically possible for this␣
˓→configuration; the maximum effectiveness possible is 0.974122977755.

References

[1], [2], [3]

192 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Examples

Worst case, parallel flow:

>>> NTU_from_effectiveness(effectiveness=0.5881156068417585, Cr=0.7, subtype=


˓→'parallel')

5.000000000000

Crossflow, somewhat higher effectiveness:

>>> NTU_from_effectiveness(effectiveness=0.8444821799748551, Cr=0.7, subtype=


˓→'crossflow')

5.000000000000

Counterflow, better than either crossflow or parallel flow:

>>> NTU_from_effectiveness(effectiveness=0.9206703686051108, Cr=0.7, subtype=


˓→'counterflow')

5.0

Shell and tube exchangers:

>>> NTU_from_effectiveness(effectiveness=0.6834977044311439, Cr=0.7, subtype='S&T')


5.000000000000
>>> NTU_from_effectiveness(effectiveness=0.9205058702789254, Cr=0.7, n_shell_
˓→tube=50, subtype='S&T')

4.999999999999

Overall case of rating an existing heat exchanger where a known flowrate of steam and oil are contacted in
crossflow, with the steam side mixed, known inlet and outlet temperatures, and unknown UA (based on example
10-8 in [3]):

>>> Cp_oil = 1900 # J/kg/K


>>> Cp_steam = 1860 # J/kg/K
>>> m_steam = 5.2 # kg/s
>>> m_oil = 1.45 # kg/s
>>> Thi = 130 # °C
>>> Tci = 15 # °C
>>> Tco = 85 # °C # Design specification
>>> Q = Cp_oil*m_oil*(Tci-Tco)
>>> dTh = Q/(m_steam*Cp_steam)
>>> Tho = Thi + dTh
>>> Cmin = calc_Cmin(mh=m_steam, mc=m_oil, Cph=Cp_steam, Cpc=Cp_oil)
>>> Cmax = calc_Cmax(mh=m_steam, mc=m_oil, Cph=Cp_steam, Cpc=Cp_oil)
>>> Cr = calc_Cr(mh=m_steam, mc=m_oil, Cph=Cp_steam, Cpc=Cp_oil)
>>> effectiveness = -Q/Cmin/(Thi-Tci)
>>> NTU = NTU_from_effectiveness(effectiveness, Cr, subtype='crossflow, mixed Cmax')
>>> UA = UA_from_NTU(NTU, Cmin)
>>> U = 200 # Assume this was calculated; would actually need to be obtained␣
˓→iteratively as U depends on the exchanger geometry

>>> A = UA/U
>>> Tho, Cmin, Cmax, Cr
(110.06100082712986, 2755.0, 9672.0, 0.2848428453267163)
>>> effectiveness, NTU, UA, A
(0.608695652173, 1.1040839095, 3041.75117083, 15.2087558541)

1.2. API Reference 193


Heat Transfer Documentation, Release 1.0.3

ht.hx.Ntubes(DBundle, Do, pitch, Ntp=1, angle=30, Method=None)


Calculates the number of tubes which can fit in a heat exchanger. The tube count is effected by the pitch, number
of tube passes, and angle.
The result is an exact number of tubes and is calculated by a very accurate method using number theory by
default. This method is available only up to 100,000 tubes.
Parameters
DBundle [float] Outer diameter of tube bundle, [m]
Do [float] Tube outer diameter, [m]
pitch [float] Pitch; distance between two orthogonal tube centers, [m]
Ntp [int, optional] Number of tube passes, [-]
angle [float, optional] The angle the tubes are positioned; 30, 45, 60 or 90, [degrees]
Returns
N [int] Total number of tubes that fit in the heat exchanger, [-]
Other Parameters
Method [string, optional] One of ‘Phadkeb’, ‘HEDH’, ‘VDI’ or ‘Perry’
See also:

Ntubes_Phadkeb
Ntubes_Perrys
Ntubes_VDI
Ntubes_HEDH
size_bundle_from_tubecount

Examples

>>> Ntubes(DBundle=1.2, Do=0.025, pitch=0.03125)


1285

The approximations are pretty good too:

>>> Ntubes(DBundle=1.2, Do=0.025, pitch=0.03125, Method='Perry')


1297
>>> Ntubes(DBundle=1.2, Do=0.025, pitch=0.03125, Method='VDI')
1340
>>> Ntubes(DBundle=1.2, Do=0.025, pitch=0.03125, Method='HEDH')
1272

ht.hx.Ntubes_HEDH(DBundle=None, Do=None, pitch=None, angle=30)


A rough equation presented in the HEDH for estimating the number of tubes in a tube bundle of differing ge-
ometries and tube sizes. No accuracy estimation given. Only 1 pass is supported.

0.78(𝐷𝑏𝑢𝑛𝑑𝑙𝑒 − 𝐷𝑜 )2
𝑁=
𝐶1 (pitch)2

C1 = 0.866 for 30° and 60° layouts, and 1 for 45 and 90° layouts.

194 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Parameters
DBundle [float] Outer diameter of tube bundle, [m]
Do [float] Tube outer diameter, [m]
pitch [float] Pitch; distance between two orthogonal tube centers, [m]
angle [float] The angle the tubes are positioned; 30, 45, 60 or 90, [degrees]
Returns
N [float] Number of tubes, [-]

Notes

Seems reasonably accurate.

References

[1]

Examples

>>> Ntubes_HEDH(DBundle=1.184, Do=.028, pitch=.036, angle=30)


928

ht.hx.Ntubes_Perrys(DBundle, Do, Ntp, angle=30)


A rough equation presented in Perry’s Handbook [1] for estimating the number of tubes in a tube bundle of
differing geometries and tube sizes. Claimed accuracy of 24 tubes.
Parameters
DBundle [float] Outer diameter of tube bundle, [m]
Do [int] Tube outer diameter, [m]
Ntp [float] Number of tube passes, [-]
angle [float] The angle the tubes are positioned; 30, 45, 60 or 90, [degrees]
Returns
Nt [int] Number of tubes, [-]

Notes

Perry’s equation 11-74. Pitch equal to 1.25 times the tube outside diameter No other source for this equation is
given. Experience suggests this is accurate to 40 tubes, but is often around 20 tubes off.

1.2. API Reference 195


Heat Transfer Documentation, Release 1.0.3

References

[1]

Examples

>>> Ntubes_Perrys(DBundle=1.184, Do=.028, Ntp=2, angle=45)


803

ht.hx.Ntubes_Phadkeb(DBundle, Do, pitch, Ntp, angle=30)


Using tabulated values and correction factors for number of passes, the highly accurate method of [1] is used to
obtain the tube count of a given tube bundle outer diameter for a given tube size and pitch.
Parameters
DBundle [float] Outer diameter of tube bundle, [m]
Do [float] Tube outer diameter, [m]
pitch [float] Pitch; distance between two orthogonal tube centers, [m]
Ntp [int] Number of tube passes, [-]
angle [float, optional] The angle the tubes are positioned; 30, 45, 60 or 90, [degrees]
Returns
Nt [int] Total number of tubes that fit in the heat exchanger, [-]

Notes

For single-pass cases, the result is exact, and no tubes need to be removed for any reason. For 4, 6, 8 pass arrange-
ments, a number of tubes must be removed to accommodate pass partition plates. The following assumptions
are involved with that:
• The pass partition plate is where a row of tubes would have been. Only one or two rows are assumed
affected.
• The thickness of partition plate is < 70% of the tube outer diameter.
• The distance between the centerline of the partition plate and the centerline of the nearest row of tubes is
equal to the pitch.
This function will fail when there are more than 100,000 tubes. [1] tabulated values up to approximately 3,000
tubes derived with number theory. The sequesnces of integers were identified in the On-Line Encyclopedia of
Integer Sequences (OEIS), and formulas listed in it were used to generate more coefficient to allow up to 100,000
tubes. The integer sequences are A003136, A038590, A001481, and A057961. The generation of coefficients
for A038590 is very slow, but the rest are reasonably fast.
The number of tubes that fit generally does not increase one-by-one, but by several.

>>> Ntubes_Phadkeb(DBundle=1.007, Do=.028, pitch=.036, Ntp=2, angle=45.)


558
>>> Ntubes_Phadkeb(DBundle=1.008, Do=.028, pitch=.036, Ntp=2, angle=45.)
574

Because a pass partition needs to be installed in multiple tube pass shells, more tubes fit in an exchanger the
fewer passes are used.

196 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

>>> Ntubes_Phadkeb(DBundle=1.008, Do=.028, pitch=.036, Ntp=1, angle=45.)


593

References

[1]

Examples

>>> Ntubes_Phadkeb(DBundle=1.200-.008*2, Do=.028, pitch=.036, Ntp=2, angle=45.)


782

ht.hx.Ntubes_VDI(DBundle=None, Ntp=None, Do=None, pitch=None, angle=30.0)


A rough equation presented in the VDI Heat Atlas for estimating the number of tubes in a tube bundle of differing
geometries and tube sizes. No accuracy estimation given.
Parameters
DBundle [float] Outer diameter of tube bundle, [m]
Ntp [float] Number of tube passes, [-]
Do [float] Tube outer diameter, [m]
pitch [float] Pitch; distance between two orthogonal tube centers, [m]
angle [float] The angle the tubes are positioned; 30, 45, 60 or 90, [degrees]
Returns
N [float] Number of tubes, [-]

Notes

No coefficients for this method with Ntp=6 are available in [1]. For consistency, estimated values were added to
support 6 tube passes, f2 = 90.. This equation is a rearranged form of that presented in [1]. The calculated tube
count is rounded down to an integer.

References

[1]

Examples

>>> Ntubes_VDI(DBundle=1.184, Ntp=2, Do=.028, pitch=.036, angle=30)


966

ht.hx.P_NTU_method(m1, m2, Cp1, Cp2, UA=None, T1i=None, T1o=None, T2i=None, T2o=None,


subtype='crossflow', Ntp=1, optimal=True)
Wrapper for the various P-NTU method function calls, which can solve a heat exchanger. The heat capacities
and mass flows of each stream and the type of the heat exchanger are always required. As additional inputs, one
combination of the following inputs is required:

1.2. API Reference 197


Heat Transfer Documentation, Release 1.0.3

• Three of the four inlet and outlet stream temperatures.


• Temperatures for the side 1 outlet and side 2 inlet and UA
• Temperatures for the side 1 outlet side 2 outlet and UA
• Temperatures for the side 1 inlet and side 2 inlet and UA
• Temperatures for the side 1 inlet and side 2 outlet and UA
Computes the total heat exchanged as well as both temperatures of both streams.
Parameters
m1 [float] Mass flow rate of stream 1 (shell side = 1, tube side = 2), [kg/s]
m2 [float] Mass flow rate of stream 2 (shell side = 1, tube side = 2), [kg/s]
Cp1 [float] Averaged heat capacity of stream 1 (shell side), [J/kg/K]
Cp2 [float] Averaged heat capacity of stream 2 (tube side), [J/kg/K]
UA [float, optional] Combined Area-heat transfer coefficient term, [W/K]
T1i [float, optional] Inlet temperature of stream 1 (shell side), [K]
T1o [float, optional] Outlet temperature of stream 1 (shell side), [K]
T2i [float, optional] Inlet temperature of stream 2 (tube side), [K]
T2o [float, optional] Outlet temperature of stream 2 (tube-side), [K]
subtype [str, optional] The subtype of exchanger; one of ‘E’, ‘G’, ‘H’, ‘J’, ‘counterflow’, ‘paral-
lel’, ‘crossflow’, ‘crossflow, mixed 1’, ‘crossflow, mixed 2’, or ‘crossflow, mixed 1&2’. For
plate exchangers ‘Np1/Np2’ where Np1 is the number of side 1 passes and Np2 is the number
of side 2 passes
Ntp [int, optional] For real heat exchangers (types ‘E’, ‘G’, ‘H’, and ‘J’), the number of tube
passes needss to be specified as well. Not all types support any number of tube passes.
optimal [bool, optional] For real heat exchangers (types ‘E’, ‘G’, ‘H’, and ‘J’), there is often
a more countercurrent (optimal) way to arrange the tube passes and a more parallel (opti-
mal=False) way to arrange them. This controls that.
Returns
results [dict]
• Q : Heat exchanged in the heat exchanger, [W]
• UA : Combined area-heat transfer coefficient term, [W/K]
• T1i : Inlet temperature of stream 1, [K]
• T1o : Outlet temperature of stream 1, [K]
• T2i : Inlet temperature of stream 2, [K]
• T2o : Outlet temperature of stream 2, [K]
• P1 : Thermal effectiveness with respect to stream 1, [-]
• P2 : Thermal effectiveness with respect to stream 2, [-]
• R1 : Heat capacity ratio with respect to stream 1, [-]
• R2 : Heat capacity ratio with respect to stream 2, [-]
• C1 : The heat capacity rate of fluid 1, [W/K]

198 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

• C2 : The heat capacity rate of fluid 2, [W/K]


• NTU1 : Thermal Number of Transfer Units with respect to stream 1 [-]
• NTU2 : Thermal Number of Transfer Units with respect to stream 2 [-]
See also:

temperature_effectiveness_basic
temperature_effectiveness_plate
temperature_effectiveness_TEMA_E
temperature_effectiveness_TEMA_G
temperature_effectiveness_TEMA_H
temperature_effectiveness_TEMA_J
NTU_from_P_basic
NTU_from_P_plate
NTU_from_P_E
NTU_from_P_G
NTU_from_P_H
NTU_from_P_J

Notes

The main equations used in this method are as follows. For the individual expressions used to calculate P1, see
the See Also section.

𝑄 = 𝑃1 𝐶1 ∆𝑇𝑚𝑎𝑥 = 𝑃2 𝐶2 ∆𝑇𝑚𝑎𝑥

∆𝑇𝑚𝑎𝑥 = 𝑇ℎ,𝑖 − 𝑇𝑐,𝑖 = |𝑇2,𝑖 − 𝑇1,𝑖 |


𝐶1 𝑇2,𝑖 − 𝑇2,𝑜
𝑅1 = =
𝐶2 𝑇1,𝑜 − 𝑇1,𝑖
𝐶2 𝑇1,𝑜 − 𝑇1,𝑖
𝑅2 = =
𝐶1 𝑇2,𝑖 − 𝑇2,𝑜
1
𝑅1 =
𝑅2
𝑈𝐴
𝑁 𝑇 𝑈1 =
𝐶1
𝑈𝐴
𝑁 𝑇 𝑈2 =
𝐶2
𝑁 𝑇 𝑈1 = 𝑁 𝑇 𝑈2 𝑅2

𝑁 𝑇 𝑈2 = 𝑁 𝑇 𝑈1 𝑅1
𝑇1,𝑜 − 𝑇1,𝑖
𝑃1 =
𝑇2,𝑖 − 𝑇1,𝑖
𝑇2,𝑖 − 𝑇2,𝑜
𝑃2 =
𝑇2,𝑖 − 𝑇1,𝑖

1.2. API Reference 199


Heat Transfer Documentation, Release 1.0.3

𝑃1 = 𝑃2 𝑅2

𝑃2 = 𝑃1 𝑅1

𝐶1 = 𝑚1 𝐶𝑝1

𝐶2 = 𝑚2 𝐶𝑝2
Once P1 has been calculated, there are six different cases for calculating the other stream temperatures depending
on the two temperatures provided. They were derived with SymPy.
Two known inlet temperatures:

𝑇1,𝑜 = −𝑃1 𝑇1,𝑖 + 𝑃1 𝑇2,𝑖 + 𝑇1,𝑖

𝑇2,𝑜 = 𝑃1 𝑅1 𝑇1,𝑖 − 𝑃1 𝑅1 𝑇2,𝑖 + 𝑇2,𝑖


Two known outlet temperatures:

𝑃1 𝑅1 𝑇1,𝑜 + 𝑃1 𝑇2,𝑜 − 𝑇1,𝑜


𝑇1,𝑖 =
𝑃 1 𝑅1 + 𝑃 1 − 1
𝑃1 𝑅1 𝑇1,𝑜 + 𝑃1 𝑇2,𝑜 − 𝑇2,𝑜
𝑇2,𝑖 =
𝑃 1 𝑅1 + 𝑃 1 − 1
Inlet 1 known, outlet 2 known:
1
𝑇1,𝑜 = (𝑃1 𝑅1 𝑇1,𝑖 + 𝑃1 𝑇1,𝑖 − 𝑃1 𝑇2,𝑜 − 𝑇1,𝑖 )
𝑃1 𝑅 1 − 1
𝑃1 𝑅1 𝑇1,𝑖 − 𝑇2,𝑜
𝑇2,𝑖 =
𝑃 1 𝑅1 − 1
Outlet 1 known, inlet 2 known:
𝑃1 𝑇2,𝑖 − 𝑇1,𝑜
𝑇1,𝑖 =
𝑃1 − 1
1
𝑇2,𝑜 = (𝑅1 (𝑃1 𝑇2,𝑖 − 𝑇1,𝑜 ) − (𝑃1 − 1) (𝑅1 𝑇1,𝑜 − 𝑇2,𝑖 ))
𝑃1 − 1
Input and output of 2 known:
1
𝑇1,𝑖 = (𝑃1 𝑅1 𝑇2,𝑖 − 𝑇2,𝑖 + 𝑇2,𝑜 )
𝑃1 𝑅 1
1
𝑇1,𝑜 = (𝑃1 𝑅1 𝑇2,𝑖 + (𝑃1 − 1) (𝑇2,𝑖 − 𝑇2,𝑜 ))
𝑃1 𝑅 1
Input and output of 1 known:
1
𝑇2,𝑖 = (𝑃1 𝑇1,𝑖 − 𝑇1,𝑖 + 𝑇1,𝑜 )
𝑃1
1
𝑇2,𝑜 = (𝑃1 𝑅1 (𝑇1,𝑖 − 𝑇1,𝑜 ) + 𝑃1 𝑇1,𝑖 − 𝑇1,𝑖 + 𝑇1,𝑜 )
𝑃1

References

[1], [2], [3]

200 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Examples

Solve a heat exchanger with the UA specified, and known inlet temperatures:
>>> from pprint import pprint
>>> pprint(P_NTU_method(m1=5.2, m2=1.45, Cp1=1860., Cp2=1900,
... subtype='E', Ntp=4, T2i=15, T1i=130, UA=3041.75))
{'C1': 9672.0,
'C2': 2755.0,
'NTU1': 0.314490281224,
'NTU2': 1.104083484573,
'P1': 0.173081161436,
'P2': 0.60763738417,
'Q': 192514.714242,
'R1': 3.5107078039,
'R2': 0.28484284532,
'T1i': 130,
'T1o': 110.095666434,
'T2i': 15,
'T2o': 84.878299180,
'UA': 3041.75}

Solve the same heat exchanger as if T1i, T2i, and T2o were known but UA was not:
>>> pprint(P_NTU_method(m1=5.2, m2=1.45, Cp1=1860., Cp2=1900, subtype='E',
... Ntp=4, T1i=130, T2i=15, T2o=84.87829918042112))
{'C1': 9672.0,
'C2': 2755.0,
'NTU1': 0.31449028122,
'NTU2': 1.10408348457,
'P1': 0.173081161436,
'P2': 0.60763738417,
'Q': 192514.714242,
'R1': 3.5107078039,
'R2': 0.2848428453,
'T1i': 130,
'T1o': 110.095666434,
'T2i': 15,
'T2o': 84.878299180,
'UA': 3041.7499999}

Solve a 2 pass/2 pass plate heat exchanger with overall parallel flow and its individual passes operating in parallel
and known outlet temperatures. Note the overall parallel part is trigered with optimal=False, and the individual
pass parallel is triggered by appending ‘p’ to the subtype. The subpass counterflow can be specified by appending
‘c’ instead to the subtype, but this is never necessary as it is the default.

>>> pprint(P_NTU_method(m1=5.2, m2=1.45, Cp1=1860., Cp2=1900., UA=300,


... T1o=126.7, T2o=26.7, subtype='2/2p', optimal=False))
{'C1': 9672.0,
'C2': 2755.0,
'NTU1': 0.0310173697270,
'NTU2': 0.10889292196,
'P1': 0.0289452959747,
'P2': 0.101618476467,
(continues on next page)

1.2. API Reference 201


Heat Transfer Documentation, Release 1.0.3

(continued from previous page)


'Q': 32200.0503078,
'R1': 3.5107078039,
'R2': 0.28484284532,
'T1i': 130.029202885,
'T1o': 126.7,
'T2i': 15.0121414490,
'T2o': 26.7,
'UA': 300}

ht.hx.Pc(x, y)
Basic helper calculator which accepts a transformed R1 and NTU1 as inputs for a common term used in the
calculation of the P-NTU method for plate exchangers.
Returns a value which is normally used in other calculations before the actual P1 is calculated. Nominally used
in counterflow calculations
1 − exp[−𝑥(1 − 𝑦)]
𝑃𝑐 (𝑥, 𝑦) =
1 − 𝑦 exp[−𝑥(1 − 𝑦)]

Parameters
x [float] A modification of NTU1, the Thermal Number of Transfer Units [-]
y [float] A modification of R1, the thermal effectiveness [-]
Returns
z [float] Just another term in the calculation, [-]

Notes

Used with the P-NTU plate method for heat exchanger design. At y =-1, this function has a ZeroDivisionError
but can be evaluated at the limit to be 𝑧 = 1+𝑥
𝑥
.

References

[1], [2]

Examples

>>> Pc(5, .7)


0.920670368605

ht.hx.Pp(x, y)
Basic helper calculator which accepts a transformed R1 and NTU1 as inputs for a common term used in the
calculation of the P-NTU method for plate exchangers.
Returns a value which is normally used in other calculations before the actual P1 is calculated.

1 − exp[−𝑥(1 + 𝑦)]
𝑃𝑝 (𝑥, 𝑦) =
1+𝑦
Parameters
x [float] A modification of NTU1, the Thermal Number of Transfer Units [-]

202 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

y [float] A modification of R1, the thermal effectiveness [-]


Returns
z [float] Just another term in the calculation, [-]

Notes

Used with the P-NTU plate method for heat exchanger design. At y = -1, this function has a ZeroDivisionError
but can be evaluated at the limit to be z = x

References

[1], [2]

Examples

>>> Pp(5, .4)


0.713634370024

ht.hx.UA_from_NTU(NTU, Cmin)
Returns the combined area-heat transfer term for a heat exchanger having a specified NTU, and with Cmin heat
capacity rate.

𝑈 𝐴 = 𝑁 𝑇 𝑈 𝐶𝑚𝑖𝑛

Parameters
NTU [float] Thermal Number of Transfer Units [-]
Cmin [float] The heat capacity rate of the smaller fluid, [W/K]
Returns
UA [float] Combined area-heat transfer coefficient term, [W/K]

Notes

Used with the effectiveness method for heat exchanger design.

References

[1]

1.2. API Reference 203


Heat Transfer Documentation, Release 1.0.3

Examples

>>> UA_from_NTU(200., 22.)


4400.0

ht.hx.baffle_thickness(Dshell, L_unsupported, service='C')


Determines the thickness of baffles and support plates in TEMA HX [1]. Applies to latitudinal baffles along the
diameter of the HX, but not longitudinal baffles parallel to the tubes.
Parameters
Dshell [float] Shell inner diameter, [m]
L_unsupported [float] Distance between tube supports, [m]
service [str] Service type, C, R or B, [-]
Returns
t [float] Baffle or support plate thickness, [m]

Notes

No checks are implemented to ensure the given shell size is TEMA compatible. The baffles do not need to be
strongas the pressure is almost the same on both of their sides. L_unsupported is a design choice; the more
baffles in a given length, the higher the pressure drop.

References

[1]

Examples

>>> baffle_thickness(Dshell=.3, L_unsupported=50, service='R')


0.0095

ht.hx.calc_Cmax(mh, mc, Cph, Cpc)


Returns the heat capacity rate for the maximum stream having flows mh and mc, with averaged heat capacities
Cph and Cpc.

𝐶𝑐 = 𝑚𝑐 𝐶𝑝,𝑐

𝐶ℎ = 𝑚ℎ 𝐶𝑝,ℎ
𝐶𝑚𝑎𝑥 = max(𝐶𝑐 , 𝐶ℎ )
Parameters
mh [float] Mass flow rate of hot stream, [kg/s]
mc [float] Mass flow rate of cold stream, [kg/s]
Cph [float] Averaged heat capacity of hot stream, [J/kg/K]
Cpc [float] Averaged heat capacity of cold stream, [J/kg/K]
Returns
Cmax [float] The heat capacity rate of the larger fluid, [W/K]

204 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Notes

Used with the effectiveness method for heat exchanger design. Technically, it doesn’t matter if the hot and cold
streams are in the right order for the input, but it is easiest to use this function when the order is specified.

References

[1]

Examples

>>> calc_Cmax(mh=22., mc=5.5, Cph=2200, Cpc=4400.)


48400.0

ht.hx.calc_Cmin(mh, mc, Cph, Cpc)


Returns the heat capacity rate for the minimum stream having flows mh and mc, with averaged heat capacities
Cph and Cpc.

𝐶𝑐 = 𝑚𝑐 𝐶𝑝,𝑐
𝐶ℎ = 𝑚ℎ 𝐶𝑝,ℎ
𝐶𝑚𝑖𝑛 = min(𝐶𝑐 , 𝐶ℎ )

Parameters
mh [float] Mass flow rate of hot stream, [kg/s]
mc [float] Mass flow rate of cold stream, [kg/s]
Cph [float] Averaged heat capacity of hot stream, [J/kg/K]
Cpc [float] Averaged heat capacity of cold stream, [J/kg/K]
Returns
Cmin [float] The heat capacity rate of the smaller fluid, [W/K]

Notes

Used with the effectiveness method for heat exchanger design. Technically, it doesn’t matter if the hot and cold
streams are in the right order for the input, but it is easiest to use this function when the order is specified.

References

[1]

1.2. API Reference 205


Heat Transfer Documentation, Release 1.0.3

Examples

>>> calc_Cmin(mh=22., mc=5.5, Cph=2200, Cpc=4400.)


24200.0

ht.hx.calc_Cr(mh, mc, Cph, Cpc)


Returns the heat capacity rate ratio for a heat exchanger having flows mh and mc, with averaged heat capacities
Cph and Cpc.
𝐶𝑚𝑖𝑛
𝐶𝑟 = 𝐶 * =
𝐶𝑚𝑎𝑥
Parameters
mh [float] Mass flow rate of hot stream, [kg/s]
mc [float] Mass flow rate of cold stream, [kg/s]
Cph [float] Averaged heat capacity of hot stream, [J/kg/K]
Cpc [float] Averaged heat capacity of cold stream, [J/kg/K]
Returns
Cr [float] The heat capacity rate ratio, of the smaller fluid to the larger fluid, [W/K]

Notes

Used with the effectiveness method for heat exchanger design. Technically, it doesn’t matter if the hot and cold
streams are in the right order for the input, but it is easiest to use this function when the order is specified.

References

[1]

Examples

>>> calc_Cr(mh=22., mc=5.5, Cph=2200, Cpc=4400.)


0.5

ht.hx.check_tubing_TEMA(NPS=None, BWG=None)

>>> check_tubing_TEMA(2, 22)


False
>>> check_tubing_TEMA(0.375, 22)
True

ht.hx.effectiveness_NTU_method(mh, mc, Cph, Cpc, subtype='counterflow', Thi=None, Tho=None, Tci=None,


Tco=None, UA=None, n_shell_tube=None)
Wrapper for the various effectiveness-NTU method function calls, which can solve a heat exchanger. The heat
capacities and mass flows of each stream and the type of the heat exchanger are always required. As additional
inputs, one combination of the following inputs is required:
• Three of the four inlet and outlet stream temperatures.

206 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

• Temperatures for the cold outlet and hot inlet and UA


• Temperatures for the cold outlet and hot outlet and UA
• Temperatures for the cold inlet and hot inlet and UA
• Temperatures for the cold inlet and hot outlet and UA

Parameters
mh [float] Mass flow rate of hot stream, [kg/s]
mc [float] Mass flow rate of cold stream, [kg/s]
Cph [float] Averaged heat capacity of hot stream, [J/kg/K]
Cpc [float] Averaged heat capacity of cold stream, [J/kg/K]
subtype [str, optional] The subtype of exchanger; one of ‘counterflow’, ‘parallel’, ‘crossflow’
‘crossflow, mixed Cmin’, ‘crossflow, mixed Cmax’, ‘boiler’, ‘condenser’, ‘S&T’, or ‘nS&T’
where n is the number of shell and tube exchangers in a row
Thi [float, optional] Inlet temperature of hot fluid, [K]
Tho [float, optional] Outlet temperature of hot fluid, [K]
Tci [float, optional] Inlet temperature of cold fluid, [K]
Tco [float, optional] Outlet temperature of cold fluid, [K]
UA [float, optional] Combined Area-heat transfer coefficient term, [W/K]
n_shell_tube [None or int, optional] The number of shell and tube exchangers in a row, [-]
Returns
results [dict]
• Q : Heat exchanged in the heat exchanger, [W]
• UA : Combined area-heat transfer coefficient term, [W/K]
• Cr : The heat capacity rate ratio, of the smaller fluid to the larger fluid, [W/K]
• Cmin : The heat capacity rate of the smaller fluid, [W/K]
• Cmax : The heat capacity rate of the larger fluid, [W/K]
• effectiveness : The thermal effectiveness of the heat exchanger, [-]
• NTU : Thermal Number of Transfer Units [-]
• Thi : Inlet temperature of hot fluid, [K]
• Tho : Outlet temperature of hot fluid, [K]
• Tci : Inlet temperature of cold fluid, [K]
• Tco : Outlet temperature of cold fluid, [K]

See also:

effectiveness_from_NTU
NTU_from_effectiveness

1.2. API Reference 207


Heat Transfer Documentation, Release 1.0.3

Examples

Solve a heat exchanger to determine UA and effectiveness given the configuration, flows, subtype, the cold in-
let/outlet temperatures, and the hot stream inlet temperature.

>>> from pprint import pprint


>>> pprint(effectiveness_NTU_method(mh=5.2, mc=1.45, Cph=1860., Cpc=1900,
... subtype='crossflow, mixed Cmax', Tci=15, Tco=85, Thi=130))
{'Cmax': 9672.0,
'Cmin': 2755.0,
'Cr': 0.284842845326,
'NTU': 1.104083909,
'Q': 192850.0,
'Tci': 15,
'Tco': 85,
'Thi': 130,
'Tho': 110.0610008271,
'UA': 3041.75117083,
'effectiveness': 0.608695652173}

Solve the same heat exchanger with the UA specified, and known inlet temperatures:

>>> pprint(effectiveness_NTU_method(mh=5.2, mc=1.45, Cph=1860., Cpc=1900,


... subtype='crossflow, mixed Cmax', Tci=15, Thi=130, UA=3041.75))
{'Cmax': 9672.0,
'Cmin': 2755.0,
'Cr': 0.284842845326,
'NTU': 1.104083484573,
'Q': 192849.9631022,
'Tci': 15,
'Tco': 84.9999866069,
'Thi': 130,
'Tho': 110.0610046420,
'UA': 3041.75,
'effectiveness': 0.608695535712}

ht.hx.effectiveness_from_NTU(NTU, Cr, subtype='counterflow', n_shell_tube=None)


Returns the effectiveness of a heat exchanger at a specified heat capacity rate, number of transfer units, and
configuration. The following configurations are supported:
• Counterflow (ex. double-pipe)
• Parallel (ex. double pipe inefficient configuration)
• Shell and tube exchangers with even numbers of tube passes, one or more shells in series
• Crossflow, single pass, fluids unmixed
• Crossflow, single pass, Cmax mixed, Cmin unmixed
• Crossflow, single pass, Cmin mixed, Cmax unmixed
• Boiler or condenser
These situations are normally not those which occur in real heat exchangers, but are useful for academic purposes.
More complicated expressions are available for other methods. These equations are confirmed in [1], [2], and
[3].

208 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

For parallel flow heat exchangers:


1 − exp[−𝑁 𝑇 𝑈 (1 + 𝐶𝑟 )]
𝜖=
1 + 𝐶𝑟
For counterflow heat exchangers:
1 − exp[−𝑁 𝑇 𝑈 (1 − 𝐶𝑟 )]
𝜖= , 𝐶𝑟 < 1
1 − 𝐶𝑟 exp[−𝑁 𝑇 𝑈 (1 − 𝐶𝑟 )]
𝑁𝑇𝑈
𝜖= , 𝐶𝑟 = 1
1 + 𝑁𝑇𝑈
For TEMA E shell-and-tube heat exchangers with one shell pass, 2n tube passes:
{︃ √︀ }︃−1
1 + exp[−(𝑁 𝑇 𝑈 ) 1 + 𝐶 2]
1
√︀ 𝑟
𝜖1 = 2 1 + 𝐶𝑟 + 1 + 𝐶𝑟2 × √︀
1 − exp[−(𝑁 𝑇 𝑈 )1 1 + 𝐶𝑟2 ]
For TEMA E shell-and-tube heat exchangers with more than one shell pass, 2n tube passes (this model assumes
each exchanger has an equal share of the overall NTU or said more plainly, the same UA):
[︃(︂ )︂2 ]︃ [︂(︂ )︂𝑛 ]︂−1
1 − 𝜖1 𝐶𝑟 1 − 𝜖1 𝐶𝑟
𝜖= −1 − 𝐶𝑟
1 − 𝜖1 1 − 𝜖1

For cross-flow (single-pass) heat exchangers with both fluids unmixed, there is an approximate and an exact
formula. The approximate one is:
[︂(︂ )︂ ]︂
1 0.22
{︀ [︀ 0.78
]︀ }︀
𝜖 = 1 − exp (𝑁 𝑇 𝑈 ) exp 𝐶𝑟 (𝑁 𝑇 𝑈 ) −1
𝐶𝑟
The exact solution for crossflow (fluids unmixed) uses SciPy’s quad to perform an integral (there is no analytical
integral solution available). 𝐼0 (𝑣) is the modified Bessel function of the first kind. This formula was developed
in [4].

exp(−𝐶𝑟 · 𝑁 𝑇 𝑈 ) 2𝑁 𝑇 𝑈 𝐶𝑟 𝑣2 𝑣2
∫︁ (︂ )︂ (︂ )︂
1
𝜖= − 1 + 𝑁 𝑇 𝑈 − exp − 𝑣𝐼0 (𝑣)𝑑𝑣
𝐶𝑟 2(𝐶𝑟 𝑁 𝑇 𝑈 )2 0 4𝐶𝑟 𝑁 𝑇 𝑈 4𝐶𝑟 𝑁 𝑇 𝑈
For cross-flow (single-pass) heat exchangers with Cmax mixed, Cmin unmixed:
(︂ )︂
1
𝜖= (1 − exp {−𝐶𝑟 [1 − exp(−𝑁 𝑇 𝑈 )]})
𝐶𝑟
For cross-flow (single-pass) heat exchangers with Cmin mixed, Cmax unmixed:

𝜖 = 1 − exp(−𝐶𝑟−1 {1 − exp[−𝐶𝑟 (𝑁 𝑇 𝑈 )]})

For cases where Cr = 0, as in an exchanger with latent heat exchange, flow arrangement does not matter:
𝜖 = 1 − exp(−𝑁 𝑇 𝑈 )

Parameters
NTU [float] Thermal Number of Transfer Units [-]
Cr [float] The heat capacity rate ratio, of the smaller fluid to the larger fluid, [-]
subtype [str, optional] The subtype of exchanger; one of ‘counterflow’, ‘parallel’, ‘crossflow’
‘crossflow approximate’, ‘crossflow, mixed Cmin’, ‘crossflow, mixed Cmax’, ‘boiler’, ‘con-
denser’, ‘S&T’
n_shell_tube [None or int, optional] The number of shell and tube exchangers in a row, [-]
Returns
effectiveness [float] The thermal effectiveness of the heat exchanger, [-]

1.2. API Reference 209


Heat Transfer Documentation, Release 1.0.3

Notes

Once the effectiveness of the exchanger has been calculated, the total heat transferred can be calculated according
to the following formulas, depending on which stream temperatures are known:
If the inlet temperatures for both sides are known:

𝑄 = 𝜖𝐶𝑚𝑖𝑛 (𝑇ℎ,𝑖 − 𝑇𝑐,𝑖 )

If the outlet temperatures for both sides are known:

𝜖𝐶𝑚𝑖𝑛 𝐶ℎ𝑜𝑡 𝐶𝑐𝑜𝑙𝑑 (𝑇𝑐,𝑜 − 𝑇ℎ,𝑜 )


𝑄=
𝜖𝐶𝑚𝑖𝑛 (𝐶ℎ𝑜𝑡 + 𝐶𝑐𝑜𝑙𝑑 ) − (𝐶ℎ𝑜𝑡 𝐶𝑐𝑜𝑙𝑑 )

If the hot inlet and cold outlet are known:


𝜖𝐶𝑚𝑖𝑛 𝐶𝑐 (𝑇𝑐𝑜 − 𝑇ℎ𝑖 )
𝑄=
𝜖𝐶𝑚𝑖𝑛 − 𝐶𝑐
If the hot outlet stream and cold inlet stream are known:
𝜖𝐶𝑚𝑖𝑛 𝐶ℎ (𝑇𝑐𝑖 − 𝑇ℎ𝑜 )
𝑄=
𝜖𝐶𝑚𝑖𝑛 − 𝐶ℎ
If the inlet and outlet conditions for a single side are known, the effectiveness wasn’t needed for it to be calculated.
For completeness, the formulas are as follows:

𝑄 = 𝐶𝑐 (𝑇𝑐,𝑜 − 𝑇𝑐,𝑖 ) = 𝐶ℎ (𝑇ℎ,𝑖 − 𝑇ℎ,𝑜 )

There is also a term called 𝑄𝑚𝑎𝑥 , which is the heat which would have been transferred if the effectiveness was
1. It is calculated as follows:
𝑄
𝑄𝑚𝑎𝑥 =
effectiveness

References

[1], [2], [3], [4]

Examples

Worst case, parallel flow:

>>> effectiveness_from_NTU(NTU=5, Cr=0.7, subtype='parallel')


0.5881156068417585

Crossflow, somewhat higher effectiveness:

>>> effectiveness_from_NTU(NTU=5, Cr=0.7, subtype='crossflow')


0.84448217997

Counterflow, better than either crossflow or parallel flow:

>>> effectiveness_from_NTU(NTU=5, Cr=0.7, subtype='counterflow')


0.920670368605

210 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

One shell and tube heat exchanger gives worse performance than counterflow, but they are designed to be eco-
nomical and compact which a counterflow exchanger would not be. As the number of shells approaches infinity,
the counterflow result is obtained exactly.

>>> effectiveness_from_NTU(NTU=5, Cr=0.7, subtype='S&T')


0.683497704431
>>> effectiveness_from_NTU(NTU=5, Cr=0.7, subtype='S&T', n_shell_tube=50)
0.920505870278

Overall case of rating an existing heat exchanger where a known flowrate of steam and oil are contacted in
crossflow, with the steam side mixed (example 10-9 in [3]):

>>> U = 275 # W/m^2/K


>>> A = 10.82 # m^2
>>> Cp_oil = 1900 # J/kg/K
>>> Cp_steam = 1860 # J/kg/K
>>> m_steam = 5.2 # kg/s
>>> m_oil = 0.725 # kg/s
>>> Thi = 130 # °C
>>> Tci = 15 # °C
>>> Cmin = calc_Cmin(mh=m_steam, mc=m_oil, Cph=Cp_steam, Cpc=Cp_oil)
>>> Cmax = calc_Cmax(mh=m_steam, mc=m_oil, Cph=Cp_steam, Cpc=Cp_oil)
>>> Cr = calc_Cr(mh=m_steam, mc=m_oil, Cph=Cp_steam, Cpc=Cp_oil)
>>> NTU = NTU_from_UA(UA=U*A, Cmin=Cmin)
>>> eff = effectiveness_from_NTU(NTU=NTU, Cr=Cr, subtype='crossflow, mixed Cmax')
>>> Q = eff*Cmin*(Thi - Tci)
>>> Tco = Tci + Q/(m_oil*Cp_oil)
>>> Tho = Thi - Q/(m_steam*Cp_steam)
>>> Cmin, Cmax, Cr
(1377.5, 9672.0, 0.1424214226633)
>>> NTU, eff, Q
(2.16007259528, 0.831218036142, 131675.3271504)
>>> Tco, Tho
(110.5900741563, 116.3859256461)

Alternatively, if only the outlet temperatures had been known:

>>> Tco = 110.59007415639887


>>> Tho = 116.38592564614977
>>> Cc, Ch = Cmin, Cmax # In this case but not always
>>> Q = eff*Cmin*Cc*Ch*(Tco - Tho)/(eff*Cmin*(Cc+Ch) - Ch*Cc)
>>> Thi = Tho + Q/Ch
>>> Tci = Tco - Q/Cc
>>> Q, Tci, Thi
(131675.3271504, 14.99999999999, 130.0000000000)

ht.hx.get_tube_TEMA(NPS=None, BWG=None, Do=None, Di=None, tmin=None)

ht.hx.shell_clearance(DBundle=None, DShell=None)
Looks up the recommended clearance between a shell and tube bundle in a TEMA HX [1]. Either the bundle
diameter or the shell diameter are needed provided.
Parameters
DBundle [float, optional] Outer diameter of tube bundle, [m]

1.2. API Reference 211


Heat Transfer Documentation, Release 1.0.3

DShell [float, optional] Shell inner diameter, [m]


Returns
c [float] Shell-tube bundle clearance, [m]

Notes

Lower limits are extended up to the next limit where intermediate limits are not provided.

References

[1]

Examples

>>> shell_clearance(DBundle=1.245)
0.0064

ht.hx.size_bundle_from_tubecount(N, Do, pitch, Ntp=1, angle=30, Method=None)


Calculates the outer diameter of a tube bundle containing a specified number of tubes. The tube count is effected
by the pitch, number of tube passes, and angle.
The result is an exact number of tubes and is calculated by a very accurate method using number theory by
default. This method is available only up to 100,000 tubes.
Parameters
N [int] Total number of tubes that fit in the heat exchanger, [-]
Do [float] Tube outer diameter, [m]
pitch [float] Pitch; distance between two orthogonal tube centers, [m]
Ntp [int, optional] Number of tube passes, [-]
angle [float, optional] The angle the tubes are positioned; 30, 45, 60 or 90, [degrees]
Returns
DBundle [float] Outer diameter of tube bundle, [m]
Other Parameters
Method [string, optional] One of ‘Phadkeb’, ‘HEDH’, ‘VDI’ or ‘Perry’
See also:

Ntubes
DBundle_for_Ntubes_Phadkeb
D_for_Ntubes_VDI
DBundle_for_Ntubes_HEDH

212 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Notes

The ‘Perry’ method is solved with a numerical solver and is very unreliable.

Examples

>>> size_bundle_from_tubecount(N=1285, Do=0.025, pitch=0.03125)


1.1985676402390355

ht.hx.temperature_effectiveness_TEMA_E(R1, NTU1, Ntp=1, optimal=True)


Returns temperature effectiveness P1 of a TEMA E type heat exchanger with a specified heat capacity ratio, num-
ber of transfer units NTU1, number of tube passes Ntp, and whether or not it is arranged in a more countercurrent
(optimal configuration) way or a more parallel (optimal=False) case. The supported cases are as follows:
• 1-1 TEMA E, shell fluid mixed
• 1-2 TEMA E, shell fluid mixed (this configuration is symmetric)
• 1-2 TEMA E, shell fluid split into two steams individually mixed
• 1-3 TEMA E, shell and tube fluids mixed, one parallel pass and two counterflow passes (efficient)
• 1-3 TEMA E, shell and tube fluids mixed, two parallel passes and one counteflow pass (inefficient)
• 1-N TEMA E, shall and tube fluids mixed, efficient counterflow orientation, N an even number
1-1 TEMA E, shell fluid mixed:
1 − exp[−𝑁 𝑇 𝑈1 (1 − 𝑅1 )]
𝑃1 =
1 − 𝑅1 exp[−𝑁 𝑇 𝑈1 (1 − 𝑅1 )]
1-2 TEMA E, shell fluid mixed (this configuration is symmetric):
2
𝑃1 =
1 + 𝑅1 + 𝐸 coth(𝐸 · 𝑁 𝑇 𝑈1 /2)

𝐸 = [1 + 𝑅12 ]1/2
1-2 TEMA E, shell fluid split into two steams individually mixed:
[︂ ]︂
1 (2 − 𝑅1 )(2𝐸 + 𝑅1 𝐵)
𝑃1 = 1−
𝑅1 (2 + 𝑅1 )(2𝐸 − 𝑅1 /𝐵)

𝐸 = exp(𝑁 𝑇 𝑈1 )

𝐵 = exp(−𝑁 𝑇 𝑈1 𝑅1 /2)
1-3 TEMA E, shell and tube fluids mixed, one parallel pass and two counterflow passes (efficient):
[︂ ]︂
1 𝐶
𝑃1 = 1−
𝑅1 𝐴𝐶 + 𝐵 2

𝐴 = 𝑋1 (𝑅1 + 𝜆1 )(𝑅1 − 𝜆2 )/(2𝜆1 ) − 𝑋3 𝛿 − 𝑋2 (𝑅1 + 𝜆2 )(𝑅1 − 𝜆1 )/(2𝜆2 ) + 1/(1 − 𝑅1 )

𝐵 = 𝑋1 (𝑅1 − 𝜆2 ) − 𝑋2 (𝑅1 − 𝜆1 ) + 𝑋3 𝛿

𝐶 = 𝑋2 (3𝑅1 + 𝜆1 ) − 𝑋1 (3𝑅1 + 𝜆2 ) + 𝑋3 𝛿

𝑋𝑖 = exp(𝜆𝑖 𝑁 𝑇 𝑈1 /3)/(2𝛿), 𝑖 = 1, 2, 3

𝛿 = 𝜆1 − 𝜆2

1.2. API Reference 213


Heat Transfer Documentation, Release 1.0.3

[︂ ]︂1/2
3 9
𝜆1 = − + + 𝑅1 (𝑅1 − 1)
2 4
[︂ ]︂1/2
3 9
𝜆2 = − − + 𝑅1 (𝑅1 − 1)
2 4
𝜆3 = 𝑅1
1-3 TEMA E, shell and tube fluids mixed, two parallel passes and one counteflow pass (inefficient):
[︂ ]︂
𝐶
𝑃2 = 1 −
(𝐴𝐶 + 𝐵 2 )

𝐴 = 𝜒1 (1 + 𝑅2 𝜆1 )(1 − 𝑅2 𝜆2 )/(2𝑅22 𝜆1 ) − 𝐸 − 𝜒2 (1 + 𝑅2 𝜆2 )(1 − 𝑅2 𝜆1 )/(2𝑅2 𝜆2 ) + 𝑅/(𝑅 − 1)


𝐵 = 𝜒1 (1 − 𝑅2 𝜆2 )/𝑅2 − 𝜒2 (1 − 𝑅2 𝜆1 )/𝑅2 + 𝐸
𝐶 = −𝜒1 (3 + 𝑅2 𝜆2 )/𝑅2 + 𝜒2 (3 + 𝑅2 𝜆1 )/𝑅2 + 𝐸
𝐸 = 0.5 exp(𝑁 𝑇 𝑈2 /3)
𝜆1 = (−3 + 𝛿)/2
𝜆2 = (−3 − 𝛿)/2
[9𝑅22 + 4(1 − 𝑅2 ))]0.5
𝛿=
𝑅2
exp(𝜆1 𝑅2 𝑁 𝑇 𝑈2 /3)
𝜒1 =
2𝛿
exp(𝜆2 𝑅2 𝑁 𝑇 𝑈2 /3)
𝜒2 =
2𝛿
1-N TEMA E, shall and tube fluids mixed, efficient counterflow orientation, N an even number:
2
𝑃2 =
𝐴+𝐵+𝐶
𝐴 = 1 + 𝑅2 + coth(𝑁 𝑇 𝑈2 /2)
(︂ )︂
−1 𝑁 𝑇 𝑈2
𝐵= coth
𝑁1 2𝑁1
(︂ )︂
1 𝑁 𝑇 𝑈2
√︁ √︁
𝐶= 1 + 𝑁12 𝑅22 coth 1 + 𝑁12 𝑅22
𝑁1 2𝑁1
𝑁𝑡𝑝
𝑁1 =
2
Parameters
R1 [float] Heat capacity ratio of the heat exchanger in the P-NTU method, calculated with respect
to stream 1 (shell side = 1, tube side = 2) [-]
NTU1 [float] Thermal number of transfer units of the heat exchanger in the P-NTU method,
calculated with respect to stream 1 (shell side = 1, tube side = 2) [-]
Ntp [int] Number of tube passes, 1, 2, 3, 4, or an even number[-]
optimal [bool, optional] Whether or not the arrangement is configured to give more of a coun-
tercurrent and efficient (True) case or an inefficient parallel case, [-]
Returns
P1 [float] Thermal effectiveness of the heat exchanger in the P-NTU method, calculated with
respect to stream 1 [-]

214 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Notes

For odd numbers of tube passes greater than 3, an exception is raised. [2] actually has a formula for 5 tube passes,
but it is an entire page long. The convention for the formulas in [1] and [3] are with the shell side as side 1, and
the tube side as side 2. [2] has formulas with the opposite convention.

References

[1], [2], [3]

Examples

>>> temperature_effectiveness_TEMA_E(R1=1/3., NTU1=1., Ntp=1)


0.5870500654031314

ht.hx.temperature_effectiveness_TEMA_G(R1, NTU1, Ntp, optimal=True)


Returns temperature effectiveness P1 of a TEMA G type heat exchanger with a specified heat capacity ratio,
number of transfer units NTU1, and of number of tube passes Ntp. For the two tube pass case, there are two
possible orientations, one inefficient and one efficient controlled by the optimal option. The supported cases are
as follows:
• One tube pass (tube fluid split into two streams individually mixed, shell fluid mixed)
• Two tube passes (shell and tube exchanger with shell and tube fluids mixed in each pass at the cross section),
counterflow arrangement
• Two tube passes (shell and tube exchanger with shell and tube fluids mixed in each pass at the cross section),
parallelflow arrangement
1-1 TEMA G, tube fluid split into two streams individually mixed, shell fluid mixed (this configuration is sym-
metric):

𝑃1 = 𝐴 + 𝐵 − 𝐴𝐵(1 + 𝑅1 ) + 𝑅1 𝐴𝐵 2
1
𝐴= {1 − exp(−𝑁 𝑇 𝑈1 (1 + 𝑅1 )/2)}
1 + 𝑅1
1−𝐷
𝐵=
1 − 𝑅1 𝐷
𝐷 = exp[−𝑁 𝑇 𝑈1 (1 − 𝑅1 )/2]
1-2 TEMA G, shell and tube exchanger with shell and tube fluids mixed in each pass at the cross section:

𝑃1 = (𝐵 − 𝛼2 )/(𝐴 + 2 + 𝑅1 𝐵)

𝐴 = −2𝑅1 (1 − 𝛼)2 /(2 + 𝑅1 )


𝐵 = [4 − 𝛽(2 + 𝑅1 )]/(2 − 𝑅1 )
𝛼 = exp[−𝑁 𝑇 𝑈1 (2 + 𝑅1 )/4]
𝛽 = exp[−𝑁 𝑇 𝑈1 (2 − 𝑅1 )/2]
1-2 TEMA G, shell and tube exchanger in overall parallelflow arrangement with shell and tube fluids mixed in
each pass at the cross section (this is only shown in [2], and the stream convention in it is different but converted
here; P1 is still returned):
(𝐵 − 𝛼2 )
𝑃2 =
𝑅2 (𝐴 − 𝛼2 /𝑅2 + 2)

1.2. API Reference 215


Heat Transfer Documentation, Release 1.0.3

(1 − 𝛼)2
𝐴=
(𝑅2 − 0.5)
4𝑅2 − 𝛽(2𝑅2 − 1)
𝐵=
2𝑅2 + 1
(︂ )︂
−𝑁 𝑇 𝑈2 (2𝑅2 − 1)
𝛼 = exp
4
(︂ )︂
−𝑁 𝑇 𝑈2 (2𝑅2 + 1)
𝛽 = exp
2
Parameters
R1 [float] Heat capacity ratio of the heat exchanger in the P-NTU method, calculated with respect
to stream 1 (shell side = 1, tube side = 2) [-]
NTU1 [float] Thermal number of transfer units of the heat exchanger in the P-NTU method,
calculated with respect to stream 1 (shell side = 1, tube side = 2) [-]
Ntp [int] Number of tube passes, 1 or 2, [-]
optimal [bool, optional] Whether or not the arrangement is configured to give more of a counter-
current and efficient (True) case or an inefficient parallel case (only applies for two passes),
[-]
Returns
P1 [float] Thermal effectiveness of the heat exchanger in the P-NTU method, calculated with
respect to stream 1 [-]

Notes

For numbers of tube passes greater than 1 or 2, an exception is raised. The convention for the formulas in [1] and
[3] are with the shell side as side 1, and the tube side as side 2. [2] has formulas with the opposite convention.

References

[1], [2], [3]

Examples

>>> temperature_effectiveness_TEMA_G(R1=1/3., NTU1=1., Ntp=1)


0.5730149350867675

ht.hx.temperature_effectiveness_TEMA_H(R1, NTU1, Ntp, optimal=True)


Returns temperature effectiveness P1 of a TEMA H type heat exchanger with a specified heat capacity ratio,
number of transfer units NTU1, and of number of tube passes Ntp. For the two tube pass case, there are two
possible orientations, one inefficient and one efficient controlled by the optimal option. The supported cases are
as follows:
• One tube pass (tube fluid split into two streams individually mixed, shell fluid mixed)
• Two tube passes (shell fluid mixed, tube pass mixed between passes)
• Two tube passes (shell fluid mixed, tube pass mixed between passes, inlet tube side next to inlet shell-side)

216 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

1-1 TEMA H, tube fluid split into two streams individually mixed, shell fluid mixed:

𝑃1 = 𝐸[1 + (1 − 𝐵𝑅1 /2)(1 − 𝐴𝑅1 /2 + 𝐴𝐵𝑅1 )] − 𝐴𝐵(1 − 𝐵𝑅1 /2)

1
𝐴= {1 − exp[−𝑁 𝑇 𝑈1 (1 + 𝑅1 /2)/2]}
1 + 𝑅1 /2
1−𝐷
𝐵=
1 − 𝑅1 𝐷/2
𝐷 = exp[−𝑁 𝑇 𝑈1 (1 − 𝑅1 /2)/2]

𝐸 = (𝐴 + 𝐵 − 𝐴𝐵𝑅1 /2)/2
1-2 TEMA H, shell and tube fluids mixed in each pass at the cross section:

(1 − 𝐷)4
[︂ ]︂
1
𝑃1 = 1−
𝑅1 𝐵 − 4𝐺/𝑅1

𝐵 = (1 + 𝐻)(1 + 𝐸)2

𝐺 = (1 − 𝐷)2 (𝐷2 + 𝐸 2 ) + 𝐷2 (1 + 𝐸)2

𝐻 = [1 − exp(−2𝛽)]/(4/𝑅1 − 1)

𝐸 = [1 − exp(−𝛽)]/(4/𝑅1 − 1)

𝐷 = [1 − exp(−𝛼)]/(4/𝑅1 + 1)

𝛼 = 𝑁 𝑇 𝑈1 (4 + 𝑅1 )/8

𝛽 = 𝑁 𝑇 𝑈1 (4 − 𝑅1 )/8
1-2 TEMA H, shell and tube fluids mixed in each pass at the cross section but with the inlet tube stream coming
in next to the shell fluid inlet in an inefficient way (this is only shown in [2], and the stream 1/2 convention in it
is different but converted here; P1 is still returned):
[︂ ]︂
𝐵 + 4𝐺𝑅2
𝑃2 = 1 −
(1 − 𝐷)4

𝐵 = (1 + 𝐻)(1 + 𝐸)2

𝐺 = (1 − 𝐷)2 (𝐷2 + 𝐸 2 ) + 𝐷2 (1 + 𝐸)2


1 − exp(−𝛼)
𝐷=
1 − 4𝑅2
exp(−𝛽) − 1
𝐸=
4𝑅2 + 1
exp(−2𝛽) − 1
𝐻=
4𝑅2 + 1
𝑁 𝑇 𝑈2
𝛼= (4𝑅2 − 1)
8
𝑁 𝑇 𝑈2
𝛽= (4𝑅2 + 1)
8
Parameters
R1 [float] Heat capacity ratio of the heat exchanger in the P-NTU method, calculated with respect
to stream 1 (shell side = 1, tube side = 2) [-]

1.2. API Reference 217


Heat Transfer Documentation, Release 1.0.3

NTU1 [float] Thermal number of transfer units of the heat exchanger in the P-NTU method,
calculated with respect to stream 1 (shell side = 1, tube side = 2) [-]
Ntp [int] Number of tube passes, 1, or 2, [-]
optimal [bool, optional] Whether or not the arrangement is configured to give more of a coun-
tercurrent and efficient (True) case or an inefficient parallel case, [-]
Returns
P1 [float] Thermal effectiveness of the heat exchanger in the P-NTU method, calculated with
respect to stream 1 [-]

Notes

For numbers of tube passes greater than 1 or 2, an exception is raised. The convention for the formulas in [1] and
[3] are with the shell side as side 1, and the tube side as side 2. [2] has formulas with the opposite convention.

References

[1], [2], [3]

Examples

>>> temperature_effectiveness_TEMA_H(R1=1/3., NTU1=1., Ntp=1)


0.5730728284905833

ht.hx.temperature_effectiveness_TEMA_J(R1, NTU1, Ntp)


Returns temperature effectiveness P1 of a TEMA J type heat exchanger with a specified heat capacity ratio,
number of transfer units NTU1, and of number of tube passes Ntp. The supported cases are as follows:
• One tube pass (shell fluid mixed)
• Two tube passes (shell fluid mixed, tube pass mixed between passes)
• Four tube passes (shell fluid mixed, tube pass mixed between passes)
For 1-1 TEMA J shell and tube exchangers, shell and tube fluids mixed:
[︂ ]︂
1 (2 − 𝑅1 )(2𝐸 + 𝑅1 𝐵)
𝑃1 = 1−
𝑅1 (2 + 𝑅1 )(2𝐸 − 𝑅1 /𝐵)
For 1-2 TEMA J, shell and tube fluids mixed. There are two possible arrangements for the flow and the number
of tube passes, but the equation is the same in both:
[︂ ]︂−1
𝑅1
𝑃1 = 1 + + 𝜆𝐵 − 2𝜆𝐶𝐷
2

(𝐴𝜆 + 1)
𝐵=
𝐴𝜆 − 1
𝐴(1+𝜆)/2
𝐶=
𝜆 − 1 + (1 + 𝜆)𝐴𝜆
𝜆𝐴(𝜆−1)/2
𝐷 =1+
𝐴𝜆 − 1
𝐴 = exp(𝑁 𝑇 𝑈1 )

218 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

𝜆 = (1 + 𝑅12 /4)0.5
For 1-4 TEMA J, shell and tube exchanger with both sides mixed:
[︂ (︂ )︂ ]︂−1
𝑅1 1 + 3𝐸
𝑃1 = 1 + + 𝜆𝐵 − 2𝜆𝐶𝐷
4 1+𝐸

𝐴𝜆 + 1
𝐵=
𝐴𝜆 − 1
𝐴(1+𝜆)/2
𝐶=
𝜆 − 1 + (1 + 𝜆)𝐴𝜆
𝜆𝐴(𝜆−1)/2
𝐷 =1+
𝐴𝜆 − 1
𝐴 = exp(𝑁 𝑇 𝑈1 )

𝐸 = exp(𝑅1 𝑁 𝑇 𝑈1 /2)

𝜆 = (1 + 𝑅12 /16)0.5
Parameters
R1 [float] Heat capacity ratio of the heat exchanger in the P-NTU method, calculated with respect
to stream 1 (shell side = 1, tube side = 2) [-]
NTU1 [float] Thermal number of transfer units of the heat exchanger in the P-NTU method,
calculated with respect to stream 1 (shell side = 1, tube side = 2) [-]
Ntp [int] Number of tube passes, 1, 2, or 4, [-]
Returns
P1 [float] Thermal effectiveness of the heat exchanger in the P-NTU method, calculated with
respect to stream 1 [-]

Notes

For numbers of tube passes that are not 1, 2, or 4, an exception is raised. The convention for the formulas in [1]
and [3] are with the shell side as side 1, and the tube side as side 2. [2] has formulas with the opposite convention.

References

[1], [2], [3]

Examples

>>> temperature_effectiveness_TEMA_J(R1=1/3., NTU1=1., Ntp=1)


0.5699085193651295

ht.hx.temperature_effectiveness_air_cooler(R1, NTU1, rows, passes, coerce=True)


Returns temperature effectiveness P1 of an air cooler with a specified heat capacity ratio, number of transfer
units NTU1, number of rows rows, and number of passes passes. The supported cases are as follows:
• N rows 1 pass
• N row N pass (up to N = 5)

1.2. API Reference 219


Heat Transfer Documentation, Release 1.0.3

• 4 rows 2 passes
For N rows 1 passes ([2], shown in [1] and [3]):
⎧ [︃ ]︃−1 ⎫
1 ⎨ 𝑁 exp(𝑁 𝐾𝑅) ⎬
𝑃 = 1− ∑︀𝑁 −1 ∑︀𝑖 (︀ 𝑖 )︀ 𝑗 ∑︀𝑗 (𝑁 𝐾𝑅)𝑘
𝑅⎩ 1+ 𝐾 exp(−(𝑖 − 𝑗)𝑁 𝑇 𝑈/𝑁 ) ⎭
𝑖=1 𝑗=0 𝑗 𝑘=0 𝑘!

For 2 rows 2 passes (cited as from [4] in [1]):


(︂ )︂
1 1
𝑃1 = 1−
𝑅 𝜉
(︂ )︂
𝐾 𝐾
𝜉= + 1− exp(2𝐾𝑅)
2 2
(︂ )︂
−𝑁 𝑇 𝑈
𝐾 = 1 − exp
2
For 3 rows / 3 passes (cited as from [4] in [1]):
[︂ (︂ )︂]︂ (︂ )︂2
𝐾 𝐾 𝐾
𝜉 =𝐾 1− − 𝑅𝐾 1 − exp(𝐾𝑅) + exp(3𝐾𝑅) 1 −
4 2 2
(︂ )︂
−𝑁 𝑇 𝑈
𝐾 = 1 − exp
3
For 4 rows / 4 passes (cited as from [4] in [1]):
)︂3
𝐾2
(︂ )︂ (︂ )︂ [︂ (︂ )︂ ]︂ (︂
𝐾 𝐾 𝐾 𝑅 𝐾 𝐾
𝜉= 1− + +𝐾 1− 1− 𝐾 1− exp(2𝐾𝑅) + exp(4𝐾𝑅) 1 −
2 2 4 2 8 2 2
(︂ )︂
−𝑁 𝑇 𝑈
𝐾 = 1 − exp
4
For 5 rows / 5 passes (cited as from [4] in [1]):
{︃ (︂ [︃ )︂2 ]︃}︃ [︃ (︂
𝐾2 𝐾3
)︂ (︂
3 3 1 𝑅 𝐾 3 1
𝜉 = 𝐾 1− 𝐾 + − − 𝑅𝐾 2 1 − 𝐾 + 𝐾 2 − 𝐾 3 − 𝐾 2 1 − exp(𝐾𝑅) + 𝐾 1 − 𝐾 + 𝐾
4 2 8 4 4 2 2 4 16

For 4 rows / 2 passes (cited as from [4] in [1]):


(︂ )︂
1 1
𝑃1 = 1−
𝑅 𝜉

𝐾2
{︂ [︂ ]︂ }︂
𝑅 3 𝐾 1
𝜉= 𝐾 [4 − 𝐾 + 2𝑅𝐾 2 ] + exp(4𝐾𝑅) + 𝐾 1 − + [1 − exp(4𝐾𝑅)]
2 2 8 (1 + 𝑅𝐾 2 )2
(︂ )︂
−𝑁 𝑇 𝑈
𝐾 = 1 − exp
4
Parameters
R1 [float] Heat capacity ratio of the heat exchanger in the P-NTU method, calculated with respect
to stream 1 (process fluid side) [-]
NTU1 [float] Thermal number of transfer units of the heat exchanger in the P-NTU method,
calculated with respect to stream 1 (process fluid side) [-]
rows [int] Number of rows of tubes in the air cooler [-]
passes [int] Number of passes the process fluid undergoes [-]

220 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

coerce [bool] If True, the number of passes or rows, if otherwise unsupported, will be replaced
with a similar number to allow the calculation to proceed, [-]
Returns
P1 [float] Thermal effectiveness of the heat exchanger in the P-NTU method, calculated with
respect to stream 1 (process fluid side) [-]

Notes

For the 1-pass case, the exact formula used can take a while to compute for large numbers of tube rows; 100 us
for 20 rows, 1 ms for 50 rows. Floating point rounding behavior can also be an issue for large numbers of tube
passes, leading to thermal effectivenesses larger than one being returned:

>>> temperature_effectiveness_air_cooler(1e-10, 100, rows=150, passes=1.0)


1.000026728092962

Furthermore, as a factorial of the number of tube counts is used, there comes a point where standard floats are
not able to hold the intermediate calculations values and an error will occur:

>>> temperature_effectiveness_air_cooler(.5, 1.1, rows=200, passes=1.0)


Traceback (most recent call last):
...
OverflowError: int too large to convert to float

References

[1], [2], [3], [4]

Examples

>>> temperature_effectiveness_air_cooler(.5, 2, rows=2, passes=2)


0.7523072855817072

ht.hx.temperature_effectiveness_basic(R1, NTU1, subtype='crossflow')


Returns temperature effectiveness P1 of a heat exchanger with a specified heat capacity ratio, number of transfer
units NTU1, and of type subtype. This function performs the calculations for the basic cases, not actual shell-
and-tube exchangers. The supported cases are as follows:
• Counterflow (ex. double-pipe)
• Parallel (ex. double pipe inefficient configuration)
• Crossflow, single pass, fluids unmixed
• Crossflow, single pass, fluid 1 mixed, fluid 2 unmixed
• Crossflow, single pass, fluid 2 mixed, fluid 1 unmixed
• Crossflow, single pass, both fluids mixed
For parallel flow heat exchangers (this configuration is symmetric):

1 − exp[−𝑁 𝑇 𝑈1 (1 + 𝑅1 )]
𝑃1 =
1 + 𝑅1

1.2. API Reference 221


Heat Transfer Documentation, Release 1.0.3

For counterflow heat exchangers (this configuration is symmetric):

1 − exp[−𝑁 𝑇 𝑈1 (1 − 𝑅1 )]
𝑃1 =
1 − 𝑅1 exp[−𝑁 𝑇 𝑈1 (1 − 𝑅1 )]

For cross-flow (single-pass) heat exchangers with both fluids unmixed (this configuration is symmetric), there are
two solutions available; a frequently cited approximation and an exact solution which uses a numerical integration
developed in [4]. The approximate solution is:

𝑁 𝑇 𝑈10.22
[︂ ]︂
0.78
𝑃1 ≈ 1 − exp (exp(−𝑅1 𝑁 𝑇 𝑈1 ) − 1)
𝑅1

The exact solution for crossflow (single pass, fluids unmixed) is:

2𝑁 𝑇 𝑈1 𝑅1
𝑣2 𝑣2
(︂ )︂ (︂ )︂
exp(−𝑅1 · 𝑁 𝑇 𝑈1 )
∫︁
1
𝜖= − 1 + 𝑁 𝑇 𝑈1 − exp − 𝑣𝐼0 (𝑣)𝑑𝑣
𝑅1 2(𝑅1 𝑁 𝑇 𝑈1 )2 0 4𝑅1 𝑁 𝑇 𝑈1 4𝑅1 𝑁 𝑇 𝑈1

For cross-flow (single-pass) heat exchangers with fluid 1 mixed, fluid 2 unmixed:
(︂ )︂
𝐾
𝑃1 = 1 − exp −
𝑅1

𝐾 = 1 − exp(−𝑅1 𝑁 𝑇 𝑈1 )
For cross-flow (single-pass) heat exchangers with fluid 2 mixed, fluid 1 unmixed:

1 − exp(−𝐾𝑅1 )
𝑃1 =
𝑅1

𝐾 = 1 − exp(−𝑁 𝑇 𝑈1 )
For cross-flow (single-pass) heat exchangers with both fluids mixed (this configuration is symmetric):
(︂ )︂−1
1 𝑅1 1
𝑃1 = + −
𝐾1 𝐾2 𝑁 𝑇 𝑈1

𝐾1 = 1 − exp(−𝑁 𝑇 𝑈1 )

𝐾2 = 1 − exp(−𝑅1 𝑁 𝑇 𝑈1 )
Parameters
R1 [float] Heat capacity ratio of the heat exchanger in the P-NTU method, calculated with respect
to stream 1 [-]
NTU1 [float] Thermal number of transfer units of the heat exchanger in the P-NTU method,
calculated with respect to stream 1 [-]
subtype [float] The type of heat exchanger; one of ‘counterflow’, ‘parallel’, ‘crossflow’, ‘cross-
flow approximate’, ‘crossflow, mixed 1’, ‘crossflow, mixed 2’, ‘crossflow, mixed 1&2’.
Returns
P1 [float] Thermal effectiveness of the heat exchanger in the P-NTU method, calculated with
respect to stream 1 [-]

222 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Notes

The crossflow case is an approximation only. There is an actual solution involving an infinite sum. This was
implemented, but found to differ substantially so the approximation is used instead.

References

[1], [2], [3], [4]

Examples

>>> temperature_effectiveness_basic(R1=.1, NTU1=4, subtype='counterflow')


0.9753412729761263

ht.hx.temperature_effectiveness_plate(R1, NTU1, Np1, Np2, counterflow=True,


passes_counterflow=True, reverse=False)
Returns the temperature effectiveness P1 of side 1 of a plate heat exchanger with a specified side 1 heat capacity
ratio R1, side 1 number of transfer units NTU1, number of passes on sides 1 and 2 (respectively Np1 and Np2).
For all cases, the function also takes as arguments whether the exchanger is setup in an overall counter or parallel
orientation counterflow, and whether or not individual stream passes are themselves counterflow or parallel.
The 20 supported cases are as follows. (the first number of sides listed refers to side 1, and the second number
refers to side 2):
• 1 pass/1 pass parallelflow
• 1 pass/1 pass counterflow
• 1 pass/2 pass
• 1 pass/3 pass or 3 pass/1 pass (with the two end passes in parallel)
• 1 pass/3 pass or 3 pass/1 pass (with the two end passes in counterflow)
• 1 pass/4 pass
• 2 pass/2 pass, overall parallelflow, individual passes in parallel
• 2 pass/2 pass, overall parallelflow, individual passes counterflow
• 2 pass/2 pass, overall counterflow, individual passes parallelflow
• 2 pass/2 pass, overall counterflow, individual passes counterflow
• 2 pass/3 pass or 3 pass/2 pass, overall parallelflow
• 2 pass/3 pass or 3 pass/2 pass, overall counterflow
• 2 pass/4 pass or 4 pass/2 pass, overall parallel flow
• 2 pass/4 pass or 4 pass/2 pass, overall counterflow flow
For all plate heat exchangers, there are two common formulas used by most of the expressions.

1 − exp[−𝑥(1 + 𝑦)]
𝑃𝑝 (𝑥, 𝑦) =
1+𝑦
1 − exp[−𝑥(1 − 𝑦)]
𝑃𝑐 (𝑥, 𝑦) =
1 − 𝑦 exp[−𝑥(1 − 𝑦)]

1.2. API Reference 223


Heat Transfer Documentation, Release 1.0.3

The main formulas used are as follows. Note that for some cases such as 4 pass/2 pass, the formula is not shown
because it is that of 2 pass/4 pass, but with R1, NTU1, and P1 conversions.
For 1 pass/1 pass paralleflow (streams symmetric):

𝑃1 = 𝑃𝑝 (𝑁 𝑇 𝑈1 , 𝑅1 )

For 1 pass/1 pass counterflow (streams symmetric):

𝑃1 = 𝑃𝑐 (𝑁 𝑇 𝑈1 , 𝑅1 )

For 1 pass/2 pass (any of the four possible configurations):

𝑃1 = 0.5(𝐴 + 𝐵 − 0.5𝐴𝐵𝑅1 )

𝐴 = 𝑃𝑝 (𝑁 𝑇 𝑈1 , 0.5𝑅1 )

𝐵 = 𝑃𝑐 (𝑁 𝑇 𝑈1 , 0.5𝑅1 )
For 1 pass/3 pass (with the two end passes in parallel):
[︂ (︂ )︂ (︂ )︂]︂
1 𝑅1 𝐵 𝑅1 𝐴
𝑃1 = 𝐵+𝐴 1− 2−
3 3 3
(︂ )︂
𝑅1
𝐴 = 𝑃𝑝 𝑁 𝑇 𝑈1 ,
3
(︂ )︂
𝑅1
𝐵 = 𝑃𝑐 𝑁 𝑇 𝑈1 ,
3
For 1 pass/3 pass (with the two end passes in counterflow):
[︂ (︂ )︂ (︂ )︂]︂
1 𝑅1 𝐴 𝑅1 𝐵
𝑃1 = 𝐴+𝐵 1− 2−
3 3 3
(︂ )︂
𝑅1
𝐴 = 𝑃𝑝 𝑁 𝑇 𝑈1 ,
3
(︂ )︂
𝑅1
𝐵 = 𝑃𝑐 𝑁 𝑇 𝑈1 ,
3
For 1 pass/4 pass (any of the four possible configurations):
1−𝑄
𝑃1 =
𝑅1
(︂ )︂2 (︂ )︂2
𝐴𝑅1 𝐵𝑅1
𝑄= 1− 1−
4 4
(︂ )︂
𝑅1
𝐴 = 𝑃𝑝 𝑁 𝑇 𝑈1 ,
4
(︂ )︂
𝑅1
𝐵 = 𝑃𝑐 𝑁 𝑇 𝑈1 ,
4
For 2 pass/2 pass, overall parallelflow, individual passes in parallel (stream symmetric):

𝑃1 = 𝑃𝑝 (𝑁 𝑇 𝑈1 , 𝑅1 )

For 2 pass/2 pass, overall parallelflow, individual passes counterflow (stream symmetric):

𝑃1 = 𝐵[2 − 𝐵(1 + 𝑅1 )]

224 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

(︂ )︂
𝑁 𝑇 𝑈1
𝐵 = 𝑃𝑐 , 𝑅1
2
For 2 pass/2 pass, overall counterflow, individual passes parallelflow (stream symmetric):

2𝐴 − 𝐴2 (1 + 𝑅1 )
𝑃1 =
1 − 𝑅 1 𝐴2
(︂ )︂
𝑁 𝑇 𝑈1
𝐴 = 𝑃𝑝 , 𝑅1
2
For 2 pass/2 pass, overall counterflow and individual passes counterflow (stream symmetric):

𝑃1 = 𝑃𝑐 (𝑁 𝑇 𝑈1 , 𝑅1 )

For 2 pass/3 pass, overall parallelflow:

𝐷(1 + 𝐷)𝐴𝐵(𝐴 + 𝐵) 𝐷2 𝐴2 𝐵 2
(︂ )︂ (︂ )︂
2 𝐷 5 4𝐷
𝑃1 = 𝐴 + 𝐵 − + (𝐴2 + 𝐵 2 ) − + 𝐴𝐵 + −
9 3 9 3 3 9
(︂ )︂
𝑁 𝑇 𝑈1
𝐴 = 𝑃𝑝 ,𝐷
2
(︂ )︂
𝑁 𝑇 𝑈1
𝐵 = 𝑃𝑐 ,𝐷
2
2𝑅1
𝐷=
3
For 2 pass/3 pass, overall counterflow:
𝐴 + 0.5𝐵 + 0.5𝐶 + 𝐷
𝑃1 =
𝑅1

2𝑅1 𝐸𝐹 2 − 2𝐸𝐹 + 𝐹 − 𝐹 2
𝐴=
2𝑅1 𝐸 2 𝐹 2 − 𝐸 2 − 𝐹 2 − 2𝐸𝐹 + 𝐸 + 𝐹
𝐴(𝐸 − 1)
𝐵=
𝐹
1−𝐴
𝐶=
𝐸
𝐶
𝐷 = 𝑅1 𝐸 2 𝐶 − 𝑅1 𝐸 + 𝑅1 −
2
3
𝐸=
2𝑅1 𝐺
3
𝐹 =
2𝑅1 𝐻
(︂ )︂
𝑁 𝑇 𝑈1 2𝑅1
𝐺 = 𝑃𝑐 ,
2 3
(︂ )︂
𝑁 𝑇 𝑈1 2𝑅1
𝐻 = 𝑃𝑝 ,
2 3
For 2 pass/4 pass, overall parallel flow:

𝑃1 = 2𝐷 − (1 + 𝑅1 )𝐷2

𝐴 + 𝐵 − 0.5𝐴𝐵𝑅1
𝐷=
2

1.2. API Reference 225


Heat Transfer Documentation, Release 1.0.3

(︂ )︂
𝑁 𝑇 𝑈1 𝑅1
𝐴 = 𝑃𝑝 ,
2 2
(︂ )︂
𝑁 𝑇 𝑈1 𝑅1
𝐵 = 𝑃𝑐 ,
2 2
For 2 pass/4 pass, overall counterflow flow:

2𝐷 − (1 + 𝑅1 )𝐷2
𝑃1 =
1 − 𝐷2 𝑅1
𝐴 + 𝐵 − 0.5𝐴𝐵𝑅1
𝐷=
2
(︂ )︂
𝑁 𝑇 𝑈1 𝑅1
𝐴 = 𝑃𝑝 ,
2 2
(︂ )︂
𝑁 𝑇 𝑈1 𝑅1
𝐵 = 𝑃𝑐 ,
2 2
Parameters
R1 [float] Heat capacity ratio of the heat exchanger in the P-NTU method, calculated with respect
to stream 1 [-]
NTU1 [float] Thermal number of transfer units of the heat exchanger in the P-NTU method,
calculated with respect to stream 1 [-]
Np1 [int] Number of passes on side 1 [-]
Np2 [int] Number of passes on side 2 [-]
counterflow [bool] Whether or not the overall flow through the heat exchanger is in counterflow
or parallel flow, [-]
passes_counterflow [bool] In addition to the overall flow direction, in some cases individual
passes may be in counter or parallel flow; this controls that [-]
reverse [bool] Used internally only to allow cases like the 1-4 formula to work for the 4-1 flow
case, without having to duplicate the code [-]
Returns
P1 [float] Thermal effectiveness of the heat exchanger in the P-NTU method, calculated with
respect to stream 1 [-]

Notes

For diagrams of these heat exchangers, see [3]. In all cases, each pass is assumed to be made up of an infinite
number of plates. The fluid velocities must be uniform across the plate channels, and the flow must be uniformly
distributed between the channels. The heat transfer coefficient is also assumed constant.
The defaults of counterflow=True and passes_counterflow=True will always result in the most efficient heat
exchanger option, normally what is desired.
If a number of passes which is not supported is provided, an exception is raised.

226 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3], [4]

Examples

Three passes on side 1; one pass on side 2; two end passes in counterflow orientation.

>>> temperature_effectiveness_plate(R1=1/3., NTU1=1., Np1=3, Np2=1)


0.5743514352720835

If the same heat exchanger (in terms of NTU1 and R1) were operating with sides 1 and 2 switched, a slightly less
efficient design results.

>>> temperature_effectiveness_plate(R1=1/3., NTU1=1., Np1=1, Np2=3)


0.5718726757657066

1.2.19 Database of insulating and refractory material properties (ht.insulation)

ht.insulation.ASHRAE_k(ID)
Returns thermal conductivity of a building or insulating material from a table in [1]. Thermal conductivity is
independent of temperature here. Many entries in the table are listed for varying densities, but the appropriate
ID from the table must be selected to account for that.
Parameters
ID [str] ID corresponding to a material in the dictionary ASHRAE
Returns
k [float] Thermal conductivity of the material, [W/m/K]

References

[1]

Examples

>>> ASHRAE_k(ID='Mineral fiber')


0.036

ht.insulation.Cp_material(ID, T=298.15)
Returns heat capacity of a building, insulating, or refractory material from tables in [1], [2], and [3]. Heat
capacity may or may not be dependent on temperature depending on the source used. Function must be provided
with either a key to one of the dictionaries refractories, ASHRAE, or building_materials - or a search term which
will pick the closest match based on a fuzzy search. To determine which source the fuzzy search will pick, use
the function nearest_material. Fuzzy searches are slow; it is preferable to call this function with a material key
directly.
Parameters
ID [str] String as described above
T [float, optional] Temperature of the material, [K]

1.2. API Reference 227


Heat Transfer Documentation, Release 1.0.3

Returns
Cp [float] Heat capacity of the material, [W/m/K]

References

[1], [2], [3]

Examples

>>> Cp_material('Mineral fiber')


840.0

ht.insulation.k_material(ID, T=298.15)
Returns thermal conductivity of a building, insulating, or refractory material from tables in [1], [2], and [3].
Thermal conductivity may or may not be dependent on temperature depending on the source used. Function
must be provided with either a key to one of the dictionaries refractories, ASHRAE, or building_materials - or
a search term which will pick the closest match based on a fuzzy search. To determine which source the fuzzy
search will pick, use the function nearest_material. Fuzzy searches are slow; it is preferable to call this function
with a material key directly.
Parameters
ID [str] String as described above
T [float, optional] Temperature of the material, [K]
Returns
k [float] Thermal conductivity of the material, [W/m/K]

References

[1], [2], [3]

Examples

>>> k_material('Mineral fiber')


0.036

ht.insulation.nearest_material(name, complete=False)
Returns the nearest hit to a given name from from dictionaries of building, insulating, or refractory material from
tables in [1], [2], and [3]. Function will pick the closest match based on a fuzzy search. if complete is True, will
only return hits with all three of density, heat capacity, and thermal conductivity available.
Parameters
name [str] Search keywords to be used by difflib function
complete [bool, optional] If True, returns only hits with all parameters available
Returns
ID [str] A key to one of the dictionaries mentioned above

228 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

References

[1], [2], [3]

Examples

>>> nearest_material('stainless steel')


'Metals, stainless steel'

ht.insulation.refractory_VDI_Cp(ID, T=None)
Returns heat capacity of a refractory material from a table in [1]. Here, heat capacity is a function of temperature
between 673.15 K and 1473.15 K according to linear interpolation among 5 equally-spaced points. Here, heat
capacity is not a function of porosity, affects it. If T is outside the acceptable range, it is rounded to the nearest
limit. If T is not provided, the lowest temperature’s value is provided.
Parameters
ID [str] ID corresponding to a material in the dictionary refractories
T [float, optional] Temperature of the refractory material, [K]
Returns
Cp [float] Heat capacity of the refractory material, [W/m/K]

References

[1]

Examples

>>> [refractory_VDI_Cp('Fused silica', i) for i in [None, 200.0, 1000.0, 1500]]


[917.0, 917.0, 956.78225, 982.0]

ht.insulation.refractory_VDI_k(ID, T=None)
Returns thermal conductivity of a refractory material from a table in [1]. Here, thermal conductivity is a function
of temperature between 673.15 K and 1473.15 K according to linear interpolation among 5 equally-spaced points.
Here, thermal conductivity is not a function of porosity, which can affect it. If T is outside the acceptable range,
it is rounded to the nearest limit. If T is not provided, the lowest temperature’s value is provided.
Parameters
ID [str] ID corresponding to a material in the dictionary refractories
T [float, optional] Temperature of the refractory material, [K]
Returns
k [float] Thermal conductivity of the refractory material, [W/m/K]

1.2. API Reference 229


Heat Transfer Documentation, Release 1.0.3

References

[1]

Examples

>>> [refractory_VDI_k('Fused silica', i) for i in [None, 200.0, 1000.0, 1500]]


[1.44, 1.44, 1.58074, 1.73]

ht.insulation.rho_material(ID)
Returns the density of a building, insulating, or refractory material from tables in [1], [2], and [3]. No temperature
dependence is available. Function must be provided with either a key to one of the dictionaries refractories,
ASHRAE, or building_materials - or a search term which will pick the closest match based on a fuzzy search. To
determine which source the fuzzy search will pick, use the function nearest_material. Fuzzy searches are slow;
it is preferable to call this function with a material key directly.
Parameters
ID [str] String as described above
Returns
rho [float] Density of the material, [kg/m^3]

References

[1], [2], [3]

Examples

>>> rho_material('Board, Asbestos/cement')


1900.0

1.2.20 Support for Numba (ht.numba)

Basic module which wraps most of ht functions and classes to be compatible with the Numba dynamic Python compiler.
Support for Numba may require the latest version of Numba. Numba is rapidly evolving, and hopefully in the future it
will support more of the functionality of ht.
Using the numba-accelerated version of ht is easy; simply call functions and classes from the ht.numba namespace.
The ht.numba module must be imported separately; it is not loaded automatically as part of ht.

>>> import ht
>>> import ht.numba
>>> ht.numba.Ft_aircooler(Thi=125., Tho=45., Tci=25., Tco=95., Ntp=1, rows=4)
0.55050936040

There is a delay while the code is compiled when using Numba; the speed is not quite free. Most, but not all compilations
can be cached to save time in future loadings.
It is easy to compare the speed of a function with and without Numba.

230 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

>>> %timeit ht.numba.Ft_aircooler(Thi=125., Tho=45., Tci=25., Tco=95., Ntp=1, rows=4)


1.22 µs ± 41.2 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
>>> %timeit ht.Ft_aircooler(Thi=125., Tho=45., Tci=25., Tco=95., Ntp=1, rows=4)
5.89 µs ± 274 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

Not everything is faster in the numba interface. It is advisable to check that numba is indeed faster for your use case.
Functions which take strings as inputs are also known to normally get slower; the numerical stuff is still being sped up
but the string handling is slow:

>>> %timeit ht.numba.baffle_correction_Bell(0.82, method='spline')


16.5 µs ± 538 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
>>> %timeit ht.baffle_correction_Bell(0.82, method='spline')
15.6 µs ± 457 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

Nevertheless, using the function from the numba interface may be preferably, to allow an even larger program to be
completely compiled in njit mode.
Today, the list of things known not to work is as follows:
• dP_Zukauskas() (needs some spline work)
• cylindrical_heat_transfer() (returns dictionaries)
• effectiveness_NTU_method() (returns dictionaries)
• P_NTU_method() (returns dictionaries)
• NTU_from_effectiveness() (does string-to-int conversion)
• DBundle_min() and shell_clearance() (needs work)
• wall_factor_Nu() and wall_factor_fd() (dictionary lookups)
• solar_spectrum() (external file reading)
• Everything in ht.insulation

Numpy Support

Numba also allows ht to provide any of its supported functions as a numpy universal function. Numpy’s wonderful
broadcasting is implemented, so some arguments can be arrays and some can not.

>>> import ht.numba_vectorized


>>> import numpy as np
>>> ht.numba_vectorized.Nu_Grimison_tube_bank(np.linspace(1e4, 1e5, 4), np.array([.708]),
˓→ np.array([11]), np.array([.05]), np.array([.05]), np.array([.025]))

array([3.39729780e+06, 3.74551216e+07, 9.86950909e+07, 1.83014426e+08])

Unfortunately, keyword-arguments are not supported by Numba. Also default arguments are not presently supported
by Numba.
Despite these limitations is is here that Numba really shines! Arrays are Numba’s strength.
Please note this interface is provided, but what works and what doesn’t is mostly up to the numba project. This backend
is not quite as polished as their normal engine.

1.2. API Reference 231


Heat Transfer Documentation, Release 1.0.3

1.2.21 Heat transfer by radiation (ht.radiation)

ht.radiation.blackbody_spectral_radiance(T, wavelength)
Returns the spectral radiance, in units of W/m^2/sr/µm.

2ℎ𝑐2𝑜
𝐼𝜆,𝑏𝑙𝑎𝑐𝑘𝑏𝑜𝑑𝑦,𝑒 (𝜆, 𝑇 ) = 5
𝜆 [exp(ℎ𝑐𝑜 /𝜆𝑘𝑇 ) − 1]

Parameters
T [float] Temperature of the surface, [K]
wavelength [float] Length of the wave to be considered, [m]
Returns
I [float] Spectral radiance [W/(m^2*sr*m)]

Notes

Can be used to derive the Stefan-Boltzman law, or determine the maximum radiant frequency for a given tem-
perature.

References

[1], [2]

Examples

Checked with Spectral-calc.com, at [2].

>>> blackbody_spectral_radiance(800., 4E-6)


1311694129.7430933

Calculation of power from the sun (earth occupies 6.8E-5 steradian of the sun):

>>> from scipy.integrate import quad


>>> rad = lambda l: blackbody_spectral_radiance(5778., l)*6.8E-5
>>> quad(rad, 1E-10, 1E-4)[0]
1367.9827067638964

ht.radiation.grey_transmittance(extinction_coefficient, molar_density, length, base=2.718281828459045)


Calculates the transmittance of a grey body, given the extinction coefficient of the material, its molar density,
and the path length of the radiation.

𝜏 = 𝑏𝑎𝑠𝑒(−𝜖·𝑙·𝜌𝑚 )

Parameters
extinction_coefficient [float] The extinction coefficient of the material the radiation is passing
at the modeled frequency, [m^2/mol]
molar_density [float] The molar density of the material the radiation is passing through,
[mol/m^3]
length [float] The length of the body the radiation is transmitted through, [m]

232 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

base [float, optional] The exponent used in calculations; e is more theoretically sound but 10 is
often used as a base by chemists, [-]
Returns
transmittance [float] The fraction of spectral radiance which is transmitted through a grey body
(can be liquid, gas, or even solid ex. in the case of glasses) [-]

Notes

For extinction coefficients, see the HITRAN database. They are temperature and pressure dependent for each
chemical and phase.

References

[1], [2]

Examples

Overall transmission loss through 1 cm of precipitable water equivalent atmospheric water vapor at a frequency
of 1.3 um [2]:

>>> grey_transmittance(3.8e-4, molar_density=55300, length=1e-2)


0.8104707721191062

ht.radiation.q_rad(emissivity, T, T2=0)
Returns the radiant heat flux of a surface, optionally including assuming radiant heat transfer back to the surface.

𝑞 = 𝜖𝜎(𝑇14 − 𝑇24 )

Parameters
emissivity [float] Fraction of black-body radiation which is emitted, [-]
T [float] Temperature of the surface, [K]
T2 [float, optional] Temperature of the surrounding material of the surface [K]
Returns
q [float] Heat exchange [W/m^2]

Notes

Emissivity must be less than 1. T2 may be larger than T.

1.2. API Reference 233


Heat Transfer Documentation, Release 1.0.3

References

[1]

Examples

>>> q_rad(emissivity=1, T=400)


1451.613952

>>> q_rad(.85, T=400, T2=305.)


816.7821722650002

ht.radiation.solar_spectrum(model='SOLAR-ISS')
Returns the solar spectrum of the sun according to the specified model. Only the ‘SOLAR-ISS’ model is sup-
ported.
Parameters
model [str, optional] The model to use; ‘SOLAR-ISS’ is the only model available, [-]
Returns
wavelengths [ndarray] The wavelengths of the solar spectra, [m]
SSI [ndarray] The solar spectral irradiance of the sun, [W/(m^2*m)]
uncertainties [ndarray] The estimated absolute uncertainty of the measured spectral irradiance
of the sun, [W/(m^2*m)]

Notes

The power of the sun changes as the earth gets closer or further away.
In [1], the UV and VIS data come from observations in 2008; the IR comes from measurements made from
2010-2016. There is a further 28 W/m^2 for the 3 micrometer to 160 micrometer range, not included in this
model. All data was corrected to a standard distance of one astronomical unit from the Sun, as is the resultant
spectrum.
The variation of the spectrum as a function of distance from the sun should alter only the absolute magnitudes.
[2] contains another dataset.
99.9% of the time this function takes is to read in the solar data from disk. This could be reduced by using pandas.

References

[1], [2]

234 Chapter 1. Introduction


Heat Transfer Documentation, Release 1.0.3

Examples

>>> wavelengths, SSI, uncertainties = solar_spectrum()

Calculate the minimum and maximum values of the wavelengths (0.5 nm/3000nm) and SSI:

>>> min(wavelengths), max(wavelengths), min(SSI), max(SSI)


(5e-10, 2.9999e-06, 1330.0, 2256817820.0)

Integration - calculate the solar constant, in untis of W/m^2 hitting earth’s atmosphere.

>>> import numpy as np


>>> np.trapz(SSI, wavelengths)
1344.802978

1.2.22 Support for numpy arrays (ht.vectorized)

Basic module which wraps all ht functions with numpy’s vectorize. All other object - dicts, classes, etc - are not
wrapped. Supports star imports; so the same objects exported when importing from the main library will be imported
from here.

>>> from ht.vectorized import *

Inputs do not need to be numpy arrays; they can be any iterable:

>>> import ht.vectorized


>>> ht.vectorized.LMTD([100, 101], 60., 30., 40.2)
array([43.20040929, 43.60182765])

1.2. API Reference 235


Heat Transfer Documentation, Release 1.0.3

236 Chapter 1. Introduction


CHAPTER

TWO

INSTALLATION

Get the latest version of ht from https://pypi.python.org/pypi/ht/


If you have an installation of Python with pip, simple install it with:
$ pip install ht
To get the git version, run:
$ git clone git://github.com/CalebBell/ht.git

237
Heat Transfer Documentation, Release 1.0.3

238 Chapter 2. Installation


CHAPTER

THREE

LATEST SOURCE CODE

The latest development version of ht’s sources can be obtained at


https://github.com/CalebBell/ht

239
Heat Transfer Documentation, Release 1.0.3

240 Chapter 3. Latest source code


CHAPTER

FOUR

BUG REPORTS

To report bugs, please use the ht’s Bug Tracker at:


https://github.com/CalebBell/ht/issues

241
Heat Transfer Documentation, Release 1.0.3

242 Chapter 4. Bug reports


CHAPTER

FIVE

LICENSE INFORMATION

ht is MIT licensed. See LICENSE.txt for information on the terms & conditions for usage of this software, and a
DISCLAIMER OF ALL WARRANTIES.
Although not required by the ht license, if it is convenient for you, please cite ht if used in your work. Please also
consider contributing any changes you make back, such that they may be incorporated into the main library and all of
us will benefit from them.

243
Heat Transfer Documentation, Release 1.0.3

244 Chapter 5. License information


CHAPTER

SIX

CITATION

To cite ht in publications use:

Caleb Bell and Contributors (2016-2023). ht: Heat transfer component of Chemical␣
˓→Engineering Design Library (ChEDL)

https://github.com/CalebBell/ht.

245
Heat Transfer Documentation, Release 1.0.3

246 Chapter 6. Citation


CHAPTER

SEVEN

INDICES AND TABLES

• genindex
• modindex
• search

247
Heat Transfer Documentation, Release 1.0.3

248 Chapter 7. Indices and tables


BIBLIOGRAPHY

[1] Roetzel, W., and F. J. L. Nicole. “Mean Temperature Difference for Heat Exchanger Design-A General Approximate
Explicit Equation.” Journal of Heat Transfer 97, no. 1 (February 1, 1975): 5-8. doi:10.1115/1.3450288
[1] GPSA. “Engineering Data Book, SI.” 13th edition. Gas Processors Suppliers Association (2012).
[1] Mukherjee, R., and Geoffrey Hewitt. Practical Thermal Design of Air-Cooled Heat Exchangers. New York: Begell
House Publishers Inc.,U.S., 2007.
[1] “High-Fin Staggered Tube Banks: Heat Transfer and Pressure Drop for Turbulent Single Phase Gas Flow.” ESDU
(October 1, 1986).
[2] Hewitt, G. L. Shires T. Reg Bott G. F., George L. Shires, and T. R. Bott. Process Heat Transfer. 1E. Boca Raton:
CRC Press, 1994.
[1] “High-Fin Staggered Tube Banks: Heat Transfer and Pressure Drop for Turbulent Single Phase Gas Flow.” ESDU
(October 1, 1986).
[2] Hewitt, G. L. Shires T. Reg Bott G. F., George L. Shires, and T. R. Bott. Process Heat Transfer. 1E. Boca Raton:
CRC Press, 1994.
[1] Briggs, D.E., and Young, E.H., 1963, “Convection Heat Transfer and Pressure Drop of Air Flowing across Trian-
gular Banks of Finned Tubes”, Chemical Engineering Progress Symp., Series 41, No. 59. Chem. Eng. Prog. Symp.
Series No. 41, “Heat Transfer - Houston”.
[2] Mukherjee, R., and Geoffrey Hewitt. Practical Thermal Design of Air-Cooled Heat Exchangers. New York: Begell
House Publishers Inc.,U.S., 2007.
[3] Kroger, Detlev. Air-Cooled Heat Exchangers and Cooling Towers: Thermal-Flow Performance Evaluation and
Design, Vol. 1. Tulsa, Okl: PennWell Corp., 2004.
[1] Hewitt, G. L. Shires, T. Reg Bott G. F., George L. Shires, and T. R. Bott. Process Heat Transfer. 1st edition. Boca
Raton: CRC Press, 1994.
[2] “High-Fin Staggered Tube Banks: Heat Transfer and Pressure Drop for Turbulent Single Phase Gas Flow.” ESDU
86022 (October 1, 1986).
[3] Rabas, T. J., and J. Taborek. “Survey of Turbulent Forced-Convection Heat Transfer and Pressure Drop Character-
istics of Low-Finned Tube Banks in Cross Flow.” Heat Transfer Engineering 8, no. 2 (January 1987): 49-62.
[1] Hewitt, G. L. Shires, T. Reg Bott G. F., George L. Shires, and T. R. Bott. Process Heat Transfer. 1st edition. Boca
Raton: CRC Press, 1994.
[2] “High-Fin Staggered Tube Banks: Heat Transfer and Pressure Drop for Turbulent Single Phase Gas Flow.” ESDU
86022 (October 1, 1986).
[3] Rabas, T. J., and J. Taborek. “Survey of Turbulent Forced-Convection Heat Transfer and Pressure Drop Character-
istics of Low-Finned Tube Banks in Cross Flow.” Heat Transfer Engineering 8, no. 2 (January 1987): 49-62.

249
Heat Transfer Documentation, Release 1.0.3

[1] Ganguli, A., S. S. Tung, and J. Taborek. “Parametric Study of Air-Cooled Heat Exchanger Finned Tube Geometry.”
In AIChE Symposium Series, 81:122-28, 1985.
[2] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[3] Serth, Robert W., and Thomas Lestina. Process Heat Transfer: Principles, Applications and Rules of Thumb.
Academic Press, 2014.
[4] Kroger, Detlev. Air-Cooled Heat Exchangers and Cooling Towers: Thermal-Flow Performance Evaluation and
Design, Vol. 1. Tulsa, Okl: PennWell Corp., 2004.
[1] Bennett, Douglas L., and John C. Chen. “Forced Convective Boiling in Vertical Tubes for Saturated Pure Compo-
nents and Binary Mixtures.” AIChE Journal 26, no. 3 (May 1, 1980): 454-61. doi:10.1002/aic.690260317.
[2] Bennett, Douglas L., M.W. Davies and B.L. Hertzler, The Suppression of Saturated Nucleate Boiling by Forced
Convective Flow, American Institute of Chemical Engineers Symposium Series, vol. 76, no. 199. 91-103, 1980.
[3] Bertsch, Stefan S., Eckhard A. Groll, and Suresh V. Garimella. “Review and Comparative Analysis of Studies
on Saturated Flow Boiling in Small Channels.” Nanoscale and Microscale Thermophysical Engineering 12, no. 3
(September 4, 2008): 187-227. doi:10.1080/15567260802317357.
[1] Chen, J. C. “Correlation for Boiling Heat Transfer to Saturated Fluids in Convective Flow.” Industrial & Engineer-
ing Chemistry Process Design and Development 5, no. 3 (July 1, 1966): 322-29. doi:10.1021/i260019a023.
[2] Edelstein, Sergio, A. J. Pérez, and J. C. Chen. “Analytic Representation of Convective Boiling Functions.” AIChE
Journal 30, no. 5 (September 1, 1984): 840-41. doi:10.1002/aic.690300528.
[3] Bertsch, Stefan S., Eckhard A. Groll, and Suresh V. Garimella. “Review and Comparative Analysis of Studies
on Saturated Flow Boiling in Small Channels.” Nanoscale and Microscale Thermophysical Engineering 12, no. 3
(September 4, 2008): 187-227. doi:10.1080/15567260802317357.
[1] Lazarek, G. M., and S. H. Black. “Evaporative Heat Transfer, Pressure Drop and Critical Heat Flux in a Small
Vertical Tube with R-113.” International Journal of Heat and Mass Transfer 25, no. 7 (July 1982): 945-60.
doi:10.1016/0017-9310(82)90070-9.
[2] Fang, Xiande, Zhanru Zhou, and Dingkun Li. “Review of Correlations of Flow Boiling Heat Transfer Co-
efficients for Carbon Dioxide.” International Journal of Refrigeration 36, no. 8 (December 2013): 2017-39.
doi:10.1016/j.ijrefrig.2013.05.015.
[3] Bertsch, Stefan S., Eckhard A. Groll, and Suresh V. Garimella. “Review and Comparative Analysis of Studies
on Saturated Flow Boiling in Small Channels.” Nanoscale and Microscale Thermophysical Engineering 12, no. 3
(September 4, 2008): 187-227. doi:10.1080/15567260802317357.
[1] Li, Wei, and Zan Wu. “A General Correlation for Evaporative Heat Transfer in Micro/mini-
Channels.” International Journal of Heat and Mass Transfer 53, no. 9-10 (April 2010): 1778-87.
doi:10.1016/j.ijheatmasstransfer.2010.01.012.
[2] Fang, Xiande, Zhanru Zhou, and Dingkun Li. “Review of Correlations of Flow Boiling Heat Transfer Co-
efficients for Carbon Dioxide.” International Journal of Refrigeration 36, no. 8 (December 2013): 2017-39.
doi:10.1016/j.ijrefrig.2013.05.015.
[3] Kim, Sung-Min, and Issam Mudawar. “Review of Databases and Predictive Methods for Pressure Drop in Adia-
batic, Condensing and Boiling Mini/micro-Channel Flows.” International Journal of Heat and Mass Transfer 77
(October 2014): 74-97. doi:10.1016/j.ijheatmasstransfer.2014.04.035.
[1] Liu, Z., and R. H. S. Winterton. “A General Correlation for Saturated and Subcooled Flow Boiling in Tubes and
Annuli, Based on a Nucleate Pool Boiling Equation.” International Journal of Heat and Mass Transfer 34, no. 11
(November 1991): 2759-66. doi:10.1016/0017-9310(91)90234-6.
[2] Fang, Xiande, Zhanru Zhou, and Dingkun Li. “Review of Correlations of Flow Boiling Heat Transfer Co-
efficients for Carbon Dioxide.” International Journal of Refrigeration 36, no. 8 (December 2013): 2017-39.
doi:10.1016/j.ijrefrig.2013.05.015.

250 Bibliography
Heat Transfer Documentation, Release 1.0.3

[3] Bertsch, Stefan S., Eckhard A. Groll, and Suresh V. Garimella. “Review and Comparative Analysis of Studies
on Saturated Flow Boiling in Small Channels.” Nanoscale and Microscale Thermophysical Engineering 12, no. 3
(September 4, 2008): 187-227. doi:10.1080/15567260802317357.
[1] Sun, Licheng, and Kaichiro Mishima. “An Evaluation of Prediction Methods for Saturated Flow Boiling Heat
Transfer in Mini-Channels.” International Journal of Heat and Mass Transfer 52, no. 23-24 (November 2009):
5323-29. doi:10.1016/j.ijheatmasstransfer.2009.06.041.
[2] Fang, Xiande, Zhanru Zhou, and Dingkun Li. “Review of Correlations of Flow Boiling Heat Transfer Co-
efficients for Carbon Dioxide.” International Journal of Refrigeration 36, no. 8 (December 2013): 2017-39.
doi:10.1016/j.ijrefrig.2013.05.015.
[1] Thome, J. R., V. Dupont, and A. M. Jacobi. “Heat Transfer Model for Evaporation in Microchannels. Part I: Pre-
sentation of the Model.” International Journal of Heat and Mass Transfer 47, no. 14-16 (July 2004): 3375-85.
doi:10.1016/j.ijheatmasstransfer.2004.01.006.
[2] Dupont, V., J. R. Thome, and A. M. Jacobi. “Heat Transfer Model for Evaporation in Microchannels. Part II:
Comparison with the Database.” International Journal of Heat and Mass Transfer 47, no. 14-16 (July 2004): 3387-
3401. doi:10.1016/j.ijheatmasstransfer.2004.01.007.
[3] Bertsch, Stefan S., Eckhard A. Groll, and Suresh V. Garimella. “Review and Comparative Analysis of Studies
on Saturated Flow Boiling in Small Channels.” Nanoscale and Microscale Thermophysical Engineering 12, no. 3
(September 4, 2008): 187-227. doi:10.1080/15567260802317357.
[1] Yun, Rin, Jae Hyeok Heo, and Yongchan Kim. “Evaporative Heat Transfer and Pressure Drop of
R410A in Microchannels.” International Journal of Refrigeration 29, no. 1 (January 2006): 92-100.
doi:10.1016/j.ijrefrig.2005.08.005.
[2] Yun, Rin, Jae Hyeok Heo, and Yongchan Kim. “Erratum to ‘Evaporative Heat Transfer and Pressure Drop of
R410A in Microchannels; [Int. J. Refrigeration 29 (2006) 92-100].” International Journal of Refrigeration 30, no.
8 (December 2007): 1468. doi:10.1016/j.ijrefrig.2007.08.003.
[3] Bertsch, Stefan S., Eckhard A. Groll, and Suresh V. Garimella. “Review and Comparative Analysis of Studies
on Saturated Flow Boiling in Small Channels.” Nanoscale and Microscale Thermophysical Engineering 12, no. 3
(September 4, 2008): 187-227. doi:10.1080/15567260802317357.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] M. G. Cooper, “Saturation and Nucleate Pool Boiling: A Simple Correlation,” Inst. Chem. Eng. Syrup. Ser. (86/2):
785, 1984.
[3] Serth, R. W., Process Heat Transfer: Principles, Applications and Rules of Thumb. 2E. Amsterdam: Academic
Press, 2014.
[1] Cao, Eduardo. Heat Transfer in Process Engineering. McGraw Hill Professional, 2009.
[2] Forster, H. K., and N. Zuber. “Dynamics of Vapor Bubbles and Boiling Heat Transfer.” AIChE Journal 1, no. 4
(December 1, 1955): 531-35. doi:10.1002/aic.690010425.
[3] Serth, R. W., Process Heat Transfer: Principles, Applications and Rules of Thumb. 2E. Amsterdam: Academic
Press, 2014.
[1] Schlunder, Ernst U, VDI. VDI Heat Atlas. Dusseldorf: V.D.I. Verlag, 1993. http://digital.ub.uni-paderborn.de/hs/
download/pdf/41898?originalFilename=true
[2] Bertsch, Stefan S., Eckhard A. Groll, and Suresh V. Garimella. “Review and Comparative Analysis of Studies
on Saturated Flow Boiling in Small Channels.” Nanoscale and Microscale Thermophysical Engineering 12, no. 3
(September 4, 2008): 187-227. doi:10.1080/15567260802317357.

Bibliography 251
Heat Transfer Documentation, Release 1.0.3

[1] Schlünder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Handbook. Wash-
ington: Hemisphere Pub. Corp., 1987.
[2] Mostinsky I. L.: “Application of the rule of corresponding states for the calculation of heat transfer and critical
heat flux,” Teploenergetika 4:66, 1963 English Abstr. Br Chem Eng 8(8):586, 1963
[3] Serth, R. W., Process Heat Transfer: Principles, Applications and Rules of Thumb. 2E. Amsterdam: Academic
Press, 2014.
[1] Schlünder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Handbook. Wash-
ington: Hemisphere Pub. Corp., 1987.
[2] Mostinsky I. L.: “Application of the rule of corresponding states for the calculation of heat transfer and critical
heat flux,” Teploenergetika 4:66, 1963 English Abstr. Br Chem Eng 8(8):586, 1963
[3] Serth, R. W., Process Heat Transfer: Principles, Applications and Rules of Thumb. 2E. Amsterdam: Academic
Press, 2014.
[1] Cao, Eduardo. Heat Transfer in Process Engineering. McGraw Hill Professional, 2009.
[2] McNelly M. J.: “A correlation of the rates of heat transfer to n ucleate boiling liquids,” J. Imp Coll. Chem Eng Soc
7:18, 1953.
[1] Cao, Eduardo. Heat Transfer in Process Engineering. McGraw Hill Professional, 2009.
[2] Mostinsky I. L.: “Application of the rule of corresponding states for the calculation of heat transfer and critical
heat flux,” Teploenergetika 4:66, 1963 English Abstr. Br Chem Eng 8(8):586, 1963
[3] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[4] Serth, R. W., Process Heat Transfer: Principles, Applications and Rules of Thumb. 2E. Amsterdam: Academic
Press, 2014.
[1] Cao, Eduardo. Heat Transfer in Process Engineering. McGraw Hill Professional, 2009.
[2] Rohsenow, Warren M. “A Method of Correlating Heat Transfer Data for Surface Boiling of Liquids.” Technical
Report. Cambridge, Mass.: M.I.T. Division of Industrial Cooporation, 1951
[1] Zuber N. “On the stability of boiling heat transfer”. Trans ASME 1958 80:711-20.
[2] Serth, R. W., Process Heat Transfer: Principles, Applications and Rules of Thumb. 2E. Amsterdam: Academic
Press, 2014.
[3] Schlünder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Handbook. Wash-
ington: Hemisphere Pub. Corp., 1987.
[1] Cao, Eduardo. Heat Transfer in Process Engineering. McGraw Hill Professional, 2009.
[2] Stephan, K., and M. Abdelsalam. “Heat-Transfer Correlations for Natural Convection Boiling.” International Jour-
nal of Heat and Mass Transfer 23, no. 1 (January 1980): 73-87. doi:10.1016/0017-9310(80)90140-4.
[3] Serth, R. W., Process Heat Transfer: Principles, Applications and Rules of Thumb. 2E. Amsterdam: Academic
Press, 2014.
[1] Zuber N. “On the stability of boiling heat transfer”. Trans ASME 1958 80:711-20.
[2] Lienhard, J.H., and Dhir, V.K., 1973, Extended Hydrodynamic Theory of the Peak and Minimum Heat Fluxes,
NASA CR-2270.
[3] Serth, R. W., Process Heat Transfer: Principles, Applications and Rules of Thumb. 2E. Amsterdam: Academic
Press, 2014.
[4] Cao, Eduardo. Heat Transfer in Process Engineering. McGraw Hill Professional, 2009.
[5] Kreith, Frank, Raj Manglik, and Mark Bohn. Principles of Heat Transfer, 7E.Mason, OH: Cengage Learning, 2010.

252 Bibliography
Heat Transfer Documentation, Release 1.0.3

[1] Amalfi, Raffaele L., Farzad Vakili-Farahani, and John R. Thome. “Flow Boiling and Frictional Pressure Gradients
in Plate Heat Exchangers. Part 2: Comparison of Literature Methods to Database and New Prediction Methods.”
International Journal of Refrigeration 61 (January 2016): 185-203. doi:10.1016/j.ijrefrig.2015.07.009.
[1] Han, Dong-Hyouck, Kyu-Jung Lee, and Yoon-Ho Kim. “Experiments on the Characteristics of Evaporation of
R410A in Brazed Plate Heat Exchangers with Different Geometric Configurations.” Applied Thermal Engineering
23, no. 10 (July 2003): 1209-25. doi:10.1016/S1359-4311(03)00061-9.
[2] Amalfi, Raffaele L., Farzad Vakili-Farahani, and John R. Thome. “Flow Boiling and Frictional Pressure Gradients
in Plate Heat Exchangers. Part 1: Review and Experimental Database.” International Journal of Refrigeration 61
(January 2016): 166-84. doi:10.1016/j.ijrefrig.2015.07.010.
[3] Eldeeb, Radia, Vikrant Aute, and Reinhard Radermacher. “A Survey of Correlations for Heat Transfer and Pressure
Drop for Evaporation and Condensation in Plate Heat Exchangers.” International Journal of Refrigeration 65 (May
2016): 12-26. doi:10.1016/j.ijrefrig.2015.11.013.
[4] Solotych, Valentin, Donghyeon Lee, Jungho Kim, Raffaele L. Amalfi, and John R. Thome. “Boil-
ing Heat Transfer and Two-Phase Pressure Drops within Compact Plate Heat Exchangers: Experiments
and Flow Visualizations.” International Journal of Heat and Mass Transfer 94 (March 2016): 239-253.
doi:10.1016/j.ijheatmasstransfer.2015.11.037.
[5] García-Cascales, J. R., F. Vera-García, J. M. Corberán-Salvador, and J. Gonzálvez-Maciá. “Assessment of Boiling
and Condensation Heat Transfer Correlations in the Modelling of Plate Heat Exchangers.” International Journal of
Refrigeration 30, no. 6 (September 2007): 1029-41. doi:10.1016/j.ijrefrig.2007.01.004.
[6] Huang, Jianchang. “Performance Analysis of Plate Heat Exchangers Used as Refrigerant Evaporators,” 2011. The-
sis. http://wiredspace.wits.ac.za/handle/10539/9779
[1] Huang, Jianchang, Thomas J. Sheer, and Michael Bailey-McEwan. “Heat Transfer and Pressure Drop in Plate
Heat Exchanger Refrigerant Evaporators.” International Journal of Refrigeration 35, no. 2 (March 2012): 325-35.
doi:10.1016/j.ijrefrig.2011.11.002.
[2] Huang, Jianchang. “Performance Analysis of Plate Heat Exchangers Used as Refrigerant Evaporators,” 2011. The-
sis. http://wiredspace.wits.ac.za/handle/10539/9779
[3] Amalfi, Raffaele L., Farzad Vakili-Farahani, and John R. Thome. “Flow Boiling and Frictional Pressure Gradients
in Plate Heat Exchangers. Part 1: Review and Experimental Database.” International Journal of Refrigeration 61
(January 2016): 166-84. doi:10.1016/j.ijrefrig.2015.07.010.
[4] Eldeeb, Radia, Vikrant Aute, and Reinhard Radermacher. “A Survey of Correlations for Heat Transfer and Pressure
Drop for Evaporation and Condensation in Plate Heat Exchangers.” International Journal of Refrigeration 65 (May
2016): 12-26. doi:10.1016/j.ijrefrig.2015.11.013.
[1] Lee, Eungchan, Hoon Kang, and Yongchan Kim. “Flow Boiling Heat Transfer and Pressure Drop of Water in a
Plate Heat Exchanger with Corrugated Channels at Low Mass Flux Conditions.” International Journal of Heat and
Mass Transfer 77 (October 2014): 37-45. doi:10.1016/j.ijheatmasstransfer.2014.05.019.
[2] Amalfi, Raffaele L., Farzad Vakili-Farahani, and John R. Thome. “Flow Boiling and Frictional Pressure Gradients
in Plate Heat Exchangers. Part 1: Review and Experimental Database.” International Journal of Refrigeration 61
(January 2016): 166-84. doi:10.1016/j.ijrefrig.2015.07.010.
[1] Yan, Y.-Y., and T.-F. Lin. “Evaporation Heat Transfer and Pressure Drop of Refrigerant R-134a in a Plate Heat
Exchanger.” Journal of Heat Transfer 121, no. 1 (February 1, 1999): 118-27. doi:10.1115/1.2825924.
[2] Amalfi, Raffaele L., Farzad Vakili-Farahani, and John R. Thome. “Flow Boiling and Frictional Pressure Gradients
in Plate Heat Exchangers. Part 1: Review and Experimental Database.” International Journal of Refrigeration 61
(January 2016): 166-84. doi:10.1016/j.ijrefrig.2015.07.010.
[3] Eldeeb, Radia, Vikrant Aute, and Reinhard Radermacher. “A Survey of Correlations for Heat Transfer and Pressure
Drop for Evaporation and Condensation in Plate Heat Exchangers.” International Journal of Refrigeration 65 (May
2016): 12-26. doi:10.1016/j.ijrefrig.2015.11.013.

Bibliography 253
Heat Transfer Documentation, Release 1.0.3

[4] García-Cascales, J. R., F. Vera-García, J. M. Corberán-Salvador, and J. Gonzálvez-Maciá. “Assessment of Boiling


and Condensation Heat Transfer Correlations in the Modelling of Plate Heat Exchangers.” International Journal of
Refrigeration 30, no. 6 (September 2007): 1029-41. doi:10.1016/j.ijrefrig.2007.01.004.
[5] Huang, Jianchang. “Performance Analysis of Plate Heat Exchangers Used as Refrigerant Evaporators,” 2011. The-
sis. http://wiredspace.wits.ac.za/handle/10539/9779
[1] Akers, W. W., H. A. Deans, and O. K. Crosser. “Condensing Heat Transfer Within Horizontal Tubes.” Chem. Eng.
Progr. Vol: 55, Symposium Ser. No. 29 (January 1, 1959).
[2] Kakaç, Sadik, ed. Boilers, Evaporators, and Condensers. 1st. Wiley-Interscience, 1991.
[1] Boyko, L. D., and G. N. Kruzhilin. “Heat Transfer and Hydraulic Resistance during Condensation of Steam in a
Horizontal Tube and in a Bundle of Tubes.” International Journal of Heat and Mass Transfer 10, no. 3 (March 1,
1967): 361-73. doi:10.1016/0017-9310(67)90152-4.
[2] Hewitt, G. L. Shires T. Reg Bott G. F., George L. Shires, and T. R. Bott. Process Heat Transfer. 1E. Boca Raton:
CRC Press, 1994.
[1] A. Cavallini, J. R. Smith and R. Zecchin, A dimensionless correlation for heat transfer in forced convection con-
densation, 6th International Heat Transfer Conference., Tokyo, Japan (1974) 309-313.
[2] Kakaç, Sadik, ed. Boilers, Evaporators, and Condensers. 1st. Wiley-Interscience, 1991.
[3] Balcılar, Muhammet, Ahmet Selim Dalkılıç, Berna Bolat, and Somchai Wongwises. “Investigation of Empirical
Correlations on the Determination of Condensation Heat Transfer Characteristics during Downward Annular Flow
of R134a inside a Vertical Smooth Tube Using Artificial Intelligence Algorithms.” Journal of Mechanical Science
and Technology 25, no. 10 (October 12, 2011): 2683-2701. doi:10.1007/s12206-011-0618-2.
[1] Hewitt, G. L. Shires T. Reg Bott G. F., George L. Shires, and T. R. Bott. Process Heat Transfer. 1E. Boca Raton:
CRC Press, 1994.
[1] Shah, M. M. “A General Correlation for Heat Transfer during Film Condensation inside Pipes.” International Jour-
nal of Heat and Mass Transfer 22, no. 4 (April 1, 1979): 547-56. doi:10.1016/0017-9310(79)90058-9.
[2] Shah, M. M., Heat Transfer During Film Condensation in Tubes and Annuli: A Review of the Literature, ASHRAE
Transactions, vol. 87, no. 3, pp. 1086-1100, 1981.
[3] Kakaç, Sadik, ed. Boilers, Evaporators, and Condensers. 1st. Wiley-Interscience, 1991.
[1] Berman, L. D. “On the Effect of Molecular-Kinetic Resistance upon Heat Transfer with Condensation.” Interna-
tional Journal of Heat and Mass Transfer 10, no. 10 (October 1, 1967): 1463. doi:10.1016/0017-9310(67)90033-6.
[2] Kakaç, Sadik, ed. Boilers, Evaporators, and Condensers. 1 edition. Wiley-Interscience, 1991.
[3] Stephan, Karl. Heat Transfer in Condensation and Boiling. Translated by C. V. Green. Softcover reprint of the
original 1st ed. 1992 edition. Berlin; New York: Springer, 2013.
[1] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Kreith, Frank, Raj Manglik, and Mark Bohn. Principles of Heat Transfer. Cengage, 2010.
[2] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Kreith, Frank, Raj Manglik, and Mark Bohn. Principles of Heat Transfer. Cengage, 2010.
[2] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.

254 Bibliography
Heat Transfer Documentation, Release 1.0.3

[1] Kreith, Frank, Raj Manglik, and Mark Bohn. Principles of Heat Transfer. Cengage, 2010.
[2] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Kreith, Frank, Raj Manglik, and Mark Bohn. Principles of Heat Transfer. Cengage, 2010.
[2] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Shape Factors for Heat Conduction Through Bodies with Isothermal or Convective Boundary Conditions, J. E.
Sunderland, K. R. Johnson, ASHRAE Transactions, Vol. 70, 1964.
[2] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Kreith, Frank, Raj Manglik, and Mark Bohn. Principles of Heat Transfer. Cengage, 2010.
[2] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Churchill, S. W., and M. Bernstein. “A Correlating Equation for Forced Convection From Gases and Liq-
uids to a Circular Cylinder in Crossflow.” Journal of Heat Transfer 99, no. 2 (May 1, 1977): 300-306.
doi:10.1115/1.3450685.
[2] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Fand, R. M. “Heat Transfer by Forced Convection from a Cylinder to Water in Crossflow.” International Journal of
Heat and Mass Transfer 8, no. 7 (July 1, 1965): 995-1010. doi:10.1016/0017-9310(65)90084-0.
[2] Sanitjai, S., and R. J. Goldstein. “Forced Convection Heat Transfer from a Circular Cylinder in Crossflow to
Air and Liquids.” International Journal of Heat and Mass Transfer 47, no. 22 (October 2004): 4795-4805.
doi:10.1016/j.ijheatmasstransfer.2004.05.012.
[1] McAdams, William Henry. Heat Transmission. 3E. Malabar, Fla: Krieger Pub Co, 1985.
[2] Fand, R. M. “Heat Transfer by Forced Convection from a Cylinder to Water in Crossflow.” International Journal of
Heat and Mass Transfer 8, no. 7 (July 1, 1965): 995-1010. doi:10.1016/0017-9310(65)90084-0.
[1] Perkins, Jr., H. C., and G. Leppert. “Forced Convection Heat Transfer From a Uniformly Heated Cylinder.” Journal
of Heat Transfer 84, no. 3 (August 1, 1962): 257-261. doi:10.1115/1.3684359.
[2] Sanitjai, S., and R. J. Goldstein. “Forced Convection Heat Transfer from a Circular Cylinder in Crossflow to
Air and Liquids.” International Journal of Heat and Mass Transfer 47, no. 22 (October 2004): 4795-4805.
doi:10.1016/j.ijheatmasstransfer.2004.05.012.
[1] Perkins Jr., H. C., and G. Leppert. “Local Heat-Transfer Coefficients on a Uniformly Heated Cylinder.” International
Journal of Heat and Mass Transfer 7, no. 2 (February 1964): 143-158. doi:10.1016/0017-9310(64)90079-1.
[2] Sanitjai, S., and R. J. Goldstein. “Forced Convection Heat Transfer from a Circular Cylinder in Crossflow to
Air and Liquids.” International Journal of Heat and Mass Transfer 47, no. 22 (October 2004): 4795-4805.
doi:10.1016/j.ijheatmasstransfer.2004.05.012.

Bibliography 255
Heat Transfer Documentation, Release 1.0.3

[1] Sanitjai, S., and R. J. Goldstein. “Forced Convection Heat Transfer from a Circular Cylinder in Crossflow to
Air and Liquids.” International Journal of Heat and Mass Transfer 47, no. 22 (October 2004): 4795-4805.
doi:10.1016/j.ijheatmasstransfer.2004.05.012.
[1] Whitaker, Stephen. “Forced Convection Heat Transfer Correlations for Flow in Pipes, Past Flat Plates, Single
Cylinders, Single Spheres, and for Flow in Packed Beds and Tube Bundles.” AIChE Journal 18, no. 2 (March 1,
1972): 361-371. doi:10.1002/aic.690180219.
[2] Sanitjai, S., and R. J. Goldstein. “Forced Convection Heat Transfer from a Circular Cylinder in Crossflow to
Air and Liquids.” International Journal of Heat and Mass Transfer 47, no. 22 (October 2004): 4795-4805.
doi:10.1016/j.ijheatmasstransfer.2004.05.012.
[1] Zukauskas, A. Heat transfer from tubes in crossflow. In T.F. Irvine, Jr. and J. P. Hartnett, editors, Advances in Heat
Transfer, volume 8, pages 93-160. Academic Press, Inc., New York, 1972.
[2] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Baehr, Hans Dieter, and Karl Stephan. Heat and Mass Transfer. Springer, 2013.
[2] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[3] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd ed. 2010 edition. Berlin; New York: Springer, 2010.
[1] Churchill, Stuart W., and Hiroyuki Ozoe. “Correlations for Laminar Forced Convection in Flow Over an Isothermal
Flat Plate and in Developing and Fully Developed Flow in an Isothermal Tube.” Journal of Heat Transfer 95, no. 3
(August 1, 1973): 416 https://doi.org/10.1115/1.3450078.
[2] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Kreith, Frank, Raj Manglik, and Mark Bohn. Principles of Heat Transfer. Cengage, 2010.
[1] Schlichting, H., and Klaus Gersten. Grenzschicht-Theorie. 9th ed. Berlin Heidelberg: Springer-Verlag, 1997. http:
//www.springer.com/de/book/9783662075548.
[2] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd ed. 2010 edition. Berlin; New York: Springer, 2010.
[1] Xin, R. C., and M. A. Ebadian. “Natural Convection Heat Transfer from Helicoidal Pipes.” Journal of Thermo-
physics and Heat Transfer 10, no. 2 (1996): 297-302.
[2] Prabhanjan, Devanahalli G., Timothy J. Rennie, and G. S. Vijaya Raghavan. “Natural Convection Heat Transfer
from Helical Coiled Tubes.” International Journal of Thermal Sciences 43, no. 4 (April 1, 2004): 359-65.
[1] Churchill, Stuart W., and Humbert H. S. Chu. “Correlating Equations for Laminar and Turbulent Free Convection
from a Horizontal Cylinder.” International Journal of Heat and Mass Transfer 18, no. 9 (September 1975): 1049-53.
doi:10.1016/0017-9310(75)90222-7.
[2] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Kuehn, T. H., and R. J. Goldstein. “Correlating Equations for Natural Convection Heat Transfer between Hori-
zontal Circular Cylinders.” International Journal of Heat and Mass Transfer 19, no. 10 (October 1976): 1127-34.
doi:10.1016/0017-9310(76)90145-9
[2] Boetcher, Sandra K. S. “Natural Convection Heat Transfer From Vertical Cylinders.” In Natural Convection from
Circular Cylinders, 23-42. Springer, 2014.
[1] Morgan, V.T., The Overall Convective Heat Transfer from Smooth Circular Cylinders, in Advances in Heat Transfer,
eds. T.F. Irvin and J.P. Hartnett, V 11, 199-264, 1975.
[2] Boetcher, Sandra K. S. “Natural Convection Heat Transfer From Vertical Cylinders.” In Natural Convection from
Circular Cylinders, 23-42. Springer, 2014.

256 Bibliography
Heat Transfer Documentation, Release 1.0.3

[1] McAdams, William Henry. Heat Transmission. 3E. Malabar, Fla: Krieger Pub Co, 1985.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[1] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd ed. 2010 edition. Berlin; New York: Springer, 2010.
[2] Stewartson, Keith. “On the Free Convection from a Horizontal Plate.” Zeitschrift Für Angewandte Mathematik
Und Physik ZAMP 9, no. 3 (September 1, 1958): 276-82. https://doi.org/10.1007/BF02033031.
[3] Schlunder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Handbook. Wash-
ington: Hemisphere Pub. Corp., 1987.
[1] Schlunder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Handbook. Wash-
ington: Hemisphere Pub. Corp., 1987.
[1] Al-Arabi, M., and M. Khamis. “Natural Convection Heat Transfer from Inclined Cylinders.” International Journal
of Heat and Mass Transfer 25, no. 1 (January 1982): 3-15. doi:10.1016/0017-9310(82)90229-0.
[2] Popiel, Czeslaw O. “Free Convection Heat Transfer from Vertical Slender Cylinders: A Review.” Heat Transfer
Engineering 29, no. 6 (June 1, 2008): 521-36. doi:10.1080/01457630801891557.
[3] Boetcher, Sandra K. S. “Natural Convection Heat Transfer From Vertical Cylinders.” In Natural Convection from
Circular Cylinders, 23-42. Springer, 2014.
[1] J. B. Carne. “LIX. Heat Loss by Natural Convection from Vertical Cylinders.” The London, Edinburgh,
and Dublin Philosophical Magazine and Journal of Science 24, no. 162 (October 1, 1937): 634-53.
doi:10.1080/14786443708565140.
[2] Morgan, V.T., The Overall Convective Heat Transfer from Smooth Circular Cylinders, in Advances in Heat Transfer,
eds. T.F. Irvin and J.P. Hartnett, V 11, 199-264, 1975.
[3] Popiel, Czeslaw O. “Free Convection Heat Transfer from Vertical Slender Cylinders: A Review.” Heat Transfer
Engineering 29, no. 6 (June 1, 2008): 521-36. doi:10.1080/01457630801891557.
[4] Boetcher, Sandra K. S. “Natural Convection Heat Transfer From Vertical Cylinders.” In Natural Convection from
Circular Cylinders, 23-42. Springer, 2014.
[1] Eigenson L (1940). Les lois gouvernant la transmission de la chaleur aux gaz biatomiques par les parois des cylin-
dres verticaux dans le cas de convection naturelle. Dokl Akad Nauk SSSR 26:440-444
[2] Morgan, V.T., The Overall Convective Heat Transfer from Smooth Circular Cylinders, in Advances in Heat Transfer,
eds. T.F. Irvin and J.P. Hartnett, V 11, 199-264, 1975.
[3] Popiel, Czeslaw O. “Free Convection Heat Transfer from Vertical Slender Cylinders: A Review.” Heat Transfer
Engineering 29, no. 6 (June 1, 2008): 521-36. doi:10.1080/01457630801891557.
[4] Boetcher, Sandra K. S. “Natural Convection Heat Transfer From Vertical Cylinders.” In Natural Convection from
Circular Cylinders, 23-42. Springer, 2014.
[1] Griffiths, Ezer, A. H. Davis, and Great Britain. The Transmission of Heat by Radiation and Convection. London:
H. M. Stationery off., 1922.
[2] Morgan, V.T., The Overall Convective Heat Transfer from Smooth Circular Cylinders, in Advances in Heat Transfer,
eds. T.F. Irvin and J.P. Hartnett, V 11, 199-264, 1975.
[3] Popiel, Czeslaw O. “Free Convection Heat Transfer from Vertical Slender Cylinders: A Review.” Heat Transfer
Engineering 29, no. 6 (June 1, 2008): 521-36. doi:10.1080/01457630801891557.
[4] Boetcher, Sandra K. S. “Natural Convection Heat Transfer From Vertical Cylinders.” In Natural Convection from
Circular Cylinders, 23-42. Springer, 2014.
[1] Hanesian, D. and Kalish, R. “Heat Transfer by Natural Convection with Fluorocarbon Gases.” IEEE Transactions
on Parts, Materials and Packaging 6, no. 4 (December 1970): 147-148. doi:10.1109/TPMP.1970.1136270.

Bibliography 257
Heat Transfer Documentation, Release 1.0.3

[2] Morgan, V.T., The Overall Convective Heat Transfer from Smooth Circular Cylinders, in Advances in Heat Transfer,
eds. T.F. Irvin and J.P. Hartnett, V 11, 199-264, 1975.
[3] Popiel, Czeslaw O. “Free Convection Heat Transfer from Vertical Slender Cylinders: A Review.” Heat Transfer
Engineering 29, no. 6 (June 1, 2008): 521-36. doi:10.1080/01457630801891557.
[4] Boetcher, Sandra K. S. “Natural Convection Heat Transfer From Vertical Cylinders.” In Natural Convection from
Circular Cylinders, 23-42. Springer, 2014.
[1] Jakob, M., and Linke, W., Warmeubergang beim Verdampfen von Flussigkeiten an senkrechten und waagerechten
Flaschen, Phys. Z., vol. 36, pp. 267-280, 1935.
[2] Morgan, V.T., The Overall Convective Heat Transfer from Smooth Circular Cylinders, in Advances in Heat Transfer,
eds. T.F. Irvin and J.P. Hartnett, V 11, 199-264, 1975.
[3] Popiel, Czeslaw O. “Free Convection Heat Transfer from Vertical Slender Cylinders: A Review.” Heat Transfer
Engineering 29, no. 6 (June 1, 2008): 521-36. doi:10.1080/01457630801891557.
[4] Boetcher, Sandra K. S. “Natural Convection Heat Transfer From Vertical Cylinders.” In Natural Convection from
Circular Cylinders, 23-42. Springer, 2014.
[1] Eckert, E. R. G., Thomas W. Jackson, and United States. Analysis of Turbulent Free-Convection Boundary Layer
on Flat Plate. National Advisory Committee for Aeronautics, no. 2207. Washington, D.C.: National Advisoty
Committee for Aeronautics, 1950.
[2] Kreith, Frank, Raj Manglik, and Mark Bohn. Principles of Heat Transfer. Cengage, 2010.
[3] Morgan, V.T., The Overall Convective Heat Transfer from Smooth Circular Cylinders, in Advances in Heat Transfer,
eds. T.F. Irvin and J.P. Hartnett, V 11, 199-264, 1975.
[4] Popiel, Czeslaw O. “Free Convection Heat Transfer from Vertical Slender Cylinders: A Review.” Heat Transfer
Engineering 29, no. 6 (June 1, 2008): 521-36. doi:10.1080/01457630801891557.
[5] Boetcher, Sandra K. S. “Natural Convection Heat Transfer From Vertical Cylinders.” In Natural Convection from
Circular Cylinders, 23-42. Springer, 2014.
[1] Weise, Rudolf. “Warmeubergang durch freie Konvektion an quadratischen Platten.” Forschung auf dem Gebiet des
Ingenieurwesens A 6, no. 6 (November 1935): 281-92. doi:10.1007/BF02592565.
[2] Saunders, O. A. “The Effect of Pressure Upon Natural Convection in Air.” Proceedings of the Royal Society
of London A: Mathematical, Physical and Engineering Sciences 157, no. 891 (November 2, 1936): 278-91.
doi:10.1098/rspa.1936.0194.
[3] McAdams, William Henry. Heat Transmission. 3E. Malabar, Fla: Krieger Pub Co, 1985.
[4] Morgan, V.T., The Overall Convective Heat Transfer from Smooth Circular Cylinders, in Advances in Heat Transfer,
eds. T.F. Irvin and J.P. Hartnett, V 11, 199-264, 1975.
[5] Popiel, Czeslaw O. “Free Convection Heat Transfer from Vertical Slender Cylinders: A Review.” Heat Transfer
Engineering 29, no. 6 (June 1, 2008): 521-36. doi:10.1080/01457630801891557.
[6] Boetcher, Sandra K. S. “Natural Convection Heat Transfer From Vertical Cylinders.” In Natural Convection from
Circular Cylinders, 23-42. Springer, 2014.
[1] Popiel, C. O., J. Wojtkowiak, and K. Bober. “Laminar Free Convective Heat Transfer from Isothermal Ver-
tical Slender Cylinder.” Experimental Thermal and Fluid Science 32, no. 2 (November 2007): 607-613.
doi:10.1016/j.expthermflusci.2007.07.003.
[2] Popiel, Czeslaw O. “Free Convection Heat Transfer from Vertical Slender Cylinders: A Review.” Heat Transfer
Engineering 29, no. 6 (June 1, 2008): 521-36. doi:10.1080/01457630801891557.
[3] Boetcher, Sandra K. S. “Natural Convection Heat Transfer From Vertical Cylinders.” In Natural Convection from
Circular Cylinders, 23-42. Springer, 2014.

258 Bibliography
Heat Transfer Documentation, Release 1.0.3

[1] Touloukian, Y. S, George A Hawkins, and Max Jakob. Heat Transfer by Free Convection from Heated Vertical
Surfaces to Liquids. Trans. ASME 70, 13-18 (1948).
[2] Morgan, V.T., The Overall Convective Heat Transfer from Smooth Circular Cylinders, in Advances in Heat Transfer,
eds. T.F. Irvin and J.P. Hartnett, V 11, 199-264, 1975.
[3] Popiel, Czeslaw O. “Free Convection Heat Transfer from Vertical Slender Cylinders: A Review.” Heat Transfer
Engineering 29, no. 6 (June 1, 2008): 521-36. doi:10.1080/01457630801891557.
[4] Boetcher, Sandra K. S. “Natural Convection Heat Transfer From Vertical Cylinders.” In Natural Convection from
Circular Cylinders, 23-42. Springer, 2014.
[1] Churchill, Stuart W., and Humbert H. S. Chu. “Correlating Equations for Laminar and Turbulent Free Convection
from a Vertical Plate.” International Journal of Heat and Mass Transfer 18, no. 11 (November 1, 1975): 1323-29.
doi:10.1016/0017-9310(75)90243-4.
[2] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Hollands, K. G. T. “Multi-Prandtl Number Correlation Equations for Natural Convection in Layers and Enclo-
sures.” International Journal of Heat and Mass Transfer 27, no. 3 (March 1, 1984): 466-68. https://doi.org/10.
1016/0017-9310(84)90295-3.
[2] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd ed. 2010 edition. Berlin; New York: Springer, 2010.
[1] Hölling, M., and H. Herwig. “Asymptotic Analysis of Heat Transfer in Turbulent Rayleigh–Bénard Convection.”
International Journal of Heat and Mass Transfer 49, no. 5 (March 1, 2006): 1129-36. https://doi.org/10.1016/j.
ijheatmasstransfer.2005.09.002.
[2] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd ed. 2010 edition. Berlin; New York: Springer, 2010.
[1] Probert, SD, RG Brooks, and M Dixon. “Heat Transfer across Rectangular Cavities.” CHEMICAL AND PROCESS
ENGINEERING, 1970, 35.
[2] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd ed. 2010 edition. Berlin; New York: Springer, 2010.
[1] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd ed. 2010 edition. Berlin; New York: Springer, 2010.
[1] Ali, Mohamed E. “Natural Convection Heat Transfer from Vertical Helical Coils in Oil.” Heat Transfer Engineering
27, no. 3 (April 1, 2006): 79-85.
[1] Prabhanjan, Devanahalli G., Timothy J. Rennie, and G. S. Vijaya Raghavan. “Natural Convection Heat Transfer
from Helical Coiled Tubes.” International Journal of Thermal Sciences 43, no. 4 (April 1, 2004): 359-65.
[1] Catton, Ivan. “Effect of Wall Conduction on the Stability of a Fluid in a Rectangular Region Heated from Below.”
Journal of Heat Transfer 94, no. 4 (November 1, 1972): 446-52. https://doi.org/10.1115/1.3449966.
[2] Catton, Ivan. “Convection in a Closed Rectangular Region: The Onset of Motion.” Journal of Heat Transfer 92,
no. 1 (February 1, 1970): 186-88. https://doi.org/10.1115/1.3449626.
[3] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] Buell, J. C., and I. Catton. “The Effect of Wall Conduction on the Stability of a Fluid in a Right Circular Cylin-
der Heated From Below.” Journal of Heat Transfer 105, no. 2 (May 1, 1983): 255-60. https://doi.org/10.1115/1.
3245571.
[1] Morimoto, Eiji, and Kazuyuki Hotta. “Study of Geometric Structure and Heat Transfer Characteristics of Spiral
Plate Heat Exchanger.” Transactions of the Japan Society of Mechanical Engineers Series B 52, no. 474 (1986):
926-33. doi:10.1299/kikaib.52.926.

Bibliography 259
Heat Transfer Documentation, Release 1.0.3

[2] Bidabadi, M. and Sadaghiani, A. and Azad, A. “Spiral heat exchanger optimization using genetic algorithm.”
Transaction on Mechanical Engineering, International Journal of Science and Technology, vol. 20, no. 5 (2013):
1445-1454. http://www.scientiairanica.com/en/ManuscriptDetail?mid=47.
[3] Turgut, Oğuz Emrah, and Mustafa Turhan Çoban. “Thermal Design of Spiral Heat Exchangers and Heat Pipes
through Global Best Algorithm.” Heat and Mass Transfer, July 7, 2016, 1-18. doi:10.1007/s00231-016-1861-y.
[1] Shah, R. K, and Alexander Louis London. Supplement 1: Laminar Flow Forced Convection in Ducts: A Source
Book for Compact Heat Exchanger Analytical Data. New York: Academic Press, 1978.
[2] Shah, Ramesh K., and A. L. London. “Laminar Flow Forced Convection Heat Transfer and Flow Friction in Straight
and Curved Ducts - A Summary of Analytical Solutions.” STANFORD UNIV CA DEPT OF MECHANICAL
ENGINEERING, STANFORD UNIV CA DEPT OF MECHANICAL ENGINEERING, November 1971. http:
//www.dtic.mil/docs/citations/AD0736260.
[1] Mori, Yasuo, and Wataru Nakayama. “Study on Forced Convective Heat Transfer in Curved Pipes.” International
Journal of Heat and Mass Transfer 10, no. 5 (May 1, 1967): 681-95. doi:10.1016/0017-9310(67)90113-5.
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat Transfer and
Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no. 0 (June 7, 2016): 1-28.
doi:10.1080/01457632.2016.1194693.
[3] Hardik, B. K., P. K. Baburajan, and S. V. Prabhu. “Local Heat Transfer Coefficient in Helical Coils
with Single Phase Flow.” International Journal of Heat and Mass Transfer 89 (October 2015): 522-38.
doi:10.1016/j.ijheatmasstransfer.2015.05.069.
[1] Schmidt, Eckehard F. “Wärmeübergang Und Druckverlust in Rohrschlangen.” Chemie Ingenieur Technik 39, no.
13 (July 10, 1967): 781-89. doi:10.1002/cite.330391302.
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat Transfer and
Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no. 0 (June 7, 2016): 1-28.
doi:10.1080/01457632.2016.1194693.
[3] Hardik, B. K., P. K. Baburajan, and S. V. Prabhu. “Local Heat Transfer Coefficient in Helical Coils
with Single Phase Flow.” International Journal of Heat and Mass Transfer 89 (October 2015): 522-38.
doi:10.1016/j.ijheatmasstransfer.2015.05.069.
[4] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[1] Xin, R. C., and M. A. Ebadian. “The Effects of Prandtl Numbers on Local and Average Convective Heat
Transfer Characteristics in Helical Pipes.” Journal of Heat Transfer 119, no. 3 (August 1, 1997): 467-73.
doi:10.1115/1.2824120.
[2] El-Genk, Mohamed S., and Timothy M. Schriener. “A Review and Correlations for Convection Heat Transfer and
Pressure Losses in Toroidal and Helically Coiled Tubes.” Heat Transfer Engineering 0, no. 0 (June 7, 2016): 1-28.
doi:10.1080/01457632.2016.1194693.
[3] Hardik, B. K., P. K. Baburajan, and S. V. Prabhu. “Local Heat Transfer Coefficient in Helical Coils
with Single Phase Flow.” International Journal of Heat and Mass Transfer 89 (October 2015): 522-38.
doi:10.1016/j.ijheatmasstransfer.2015.05.069.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. New York: McGraw-Hill
Education, 2007.
[2] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[3] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd ed. 2010 edition. Berlin; New York: Springer, 2010.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. New York: McGraw-Hill
Education, 2007.

260 Bibliography
Heat Transfer Documentation, Release 1.0.3

[2] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[3] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd ed. 2010 edition. Berlin; New York: Springer, 2010.
[1] Baehr, Hans Dieter, and Karl Stephan. Heat and Mass Transfer. Springer, 2013.
[2] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Sieder, E. N., and G. E. Tate. “Heat Transfer and Pressure Drop of Liquids in Tubes.” Industrial & Engineering
Chemistry 28, no. 12 (December 1, 1936): 1429-35. doi:10.1021/ie50324a027.
[2] Serth, R. W., Process Heat Transfer: Principles, Applications and Rules of Thumb. 2E. Amsterdam: Academic
Press, 2014.
[1] Hausen, H. Darstellung des Warmeuberganges in Rohren durch verallgeminerte Potenzbeziehungen, Z. Ver
deutsch. Ing Beih. Verfahrenstech., 4, 91-98, 1943
[2] W. M. Kays. 1953. Numerical Solutions for Laminar Flow Heat Transfer in Circular Tubes.
[3] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] M. S. Bhatti and R. K. Shah. Turbulent and transition flow convective heat transfer in ducts. In S. Kakaç, R. K.
Shah, and W. Aung, editors, Handbook of Single-Phase Convective Heat Transfer, chapter 4. Wiley-Interscience,
New York, 1987.
[1] Churchill, Stuart W., and Stefan C. Zajic. “Prediction of Fully Developed Turbulent Convection with Minimal
Explicit Empiricism.” AIChE Journal 48, no. 5 (May 1, 2002): 927–40. doi:10.1002/aic.690480503.
[2] Plawsky, Joel L. Transport Phenomena Fundamentals, Third Edition. CRC Press, 2014.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] Colburn, Allan P. “A Method of Correlating Forced Convection Heat-Transfer Data and a Comparison with Fluid
Friction.” International Journal of Heat and Mass Transfer 7, no. 12 (December 1964): 1359-84. doi:10.1016/0017-
9310(64)90125-5.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] Dipprey, D. F., and R. H. Sabersky. “Heat and Momentum Transfer in Smooth and Rough Tubes at Various Prandtl
Numbers.” International Journal of Heat and Mass Transfer 6, no. 5 (May 1963): 329–53. doi:10.1016/0017-
9310(63)90097-8
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] Dittus, F. W., and L. M. K. Boelter. “Heat Transfer in Automobile Radiators of the Tubular Type.” International
Communications in Heat and Mass Transfer 12, no. 1 (January 1985): 3-22. doi:10.1016/0735-1933(85)90003-X
[3] Dittus, F. W., and L. M. K. Boelter, University of California Publications in Engineering, Vol. 2, No. 13, pp.
443-461, October 17, 1930.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] Drexel, Rober E., and William H. Mcadams. “Heat-Transfer Coefficients for Air Flowing in Round Tubes, in Rect-
angular Ducts, and around Finned Cylinders,” February 1, 1945. http://ntrs.nasa.gov/search.jsp?R=19930090924.

Bibliography 261
Heat Transfer Documentation, Release 1.0.3

[1] Hewitt, G. L. Shires, T. Reg Bott G. F., George L. Shires, and T. R. Bott. Process Heat Transfer. 1E. Boca Raton:
CRC Press, 1994.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] Friend, W. L., and A. B. Metzner. “Turbulent Heat Transfer inside Tubes and the Analogy among Heat, Mass, and
Momentum Transfer.” AIChE Journal 4, no. 4 (December 1, 1958): 393-402. doi:10.1002/aic.690040404.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] Gnielinski, V. (1976). New Equation for Heat and Mass Transfer in Turbulent Pipe and Channel Flow, International
Chemical Engineering, Vol. 16, pp. 359–368.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] Gnielinski, V. (1976). New Equation for Heat and Mass Transfer in Turbulent Pipe and Channel Flow, International
Chemical Engineering, Vol. 16, pp. 359–368.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] Gnielinski, V. (1976). New Equation for Heat and Mass Transfer in Turbulent Pipe and Channel Flow, International
Chemical Engineering, Vol. 16, pp. 359–368.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] Gowen, R. A., and J. W. Smith. “Turbulent Heat Transfer from Smooth and Rough Surfaces.” International Journal
of Heat and Mass Transfer 11, no. 11 (November 1968): 1657–74. doi:10.1016/0017-9310(68)90046-X.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] Kawase, Yoshinori, and Addie De. “Turbulent Heat and Mass Transfer in Newtonian and Dilute Polymer Solutions
Flowing through Rough Pipes.” International Journal of Heat and Mass Transfer 27, no. 1 (January 1984): 140–42.
doi:10.1016/0017-9310(84)90246-1.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] Kawase, Yoshinori, and Jaromir J. Ulbrecht. “Turbulent Heat and Mass Transfer in Dilute Polymer Solutions.”
Chemical Engineering Science 37, no. 7 (1982): 1039–46. doi:10.1016/0009-2509(82)80134-6.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] Martinelli, R. C. (1947). “Heat transfer to molten metals”. Trans. ASME, 69, 947-959.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] W. Nunner, “Warmeiibergang und Druckabfall in Rauhen Rohren,” VDI-Forschungsheft 445, ser. B,(22): 5-39,
1956
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] B. S. Petukhov, and V. V. Kirillov, “The Problem of Heat Exchange in the Turbulent Flow of Liquids in Tubes,”
(Russian) Teploenergetika, (4): 63-68, 1958

262 Bibliography
Heat Transfer Documentation, Release 1.0.3

[3] B. S. Petukhov and V. N. Popov, “Theoretical Calculation of Heat Exchange in Turbulent Flow in Tubes of an
Incompressible Fluidwith Variable Physical Properties,” High Temp., (111): 69-83, 1963.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] L. Prandt, Fuhrrer durch die Stomungslehre, Vieweg, Braunschweig, p. 359, 1944.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] Sandall, O. C., O. T. Hanna, and P. R. Mazet. “A New Theoretical Formula for Turbulent Heat and Mass Transfer
with Gases or Liquids in Tube Flow.” The Canadian Journal of Chemical Engineering 58, no. 4 (August 1, 1980):
443–47. doi:10.1002/cjce.5450580404.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] Sieder, E. N., and G. E. Tate. “Heat Transfer and Pressure Drop of Liquids in Tubes.” Industrial & Engineering
Chemistry 28, no. 12 (December 1, 1936): 1429-35. doi:10.1021/ie50324a027.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] Webb, Dr R. L. “A Critical Evaluation of Analytical Solutions and Reynolds Analogy Equations for Turbulent
Heat and Mass Transfer in Smooth Tubes.” Wärme - Und Stoffübertragung 4, no. 4 (December 1, 1971): 197–204.
doi:10.1007/BF01002474.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] H. Hausen, “Neue Gleichungen fÜr die Wärmeübertragung bei freier oder erzwungener Stromung,”Allg.
Warmetchn., (9): 75-79, 1959.
[1] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[2] T. von Karman, “The Analogy Between Fluid Friction and Heat Transfer,” Trans. ASME, (61):705-710,1939.
[1] Lehrer, Isaac H. “Jacket-Side Nusselt Number.” Industrial & Engineering Chemistry Process Design and Develop-
ment 9, no. 4 (October 1, 1970): 553-58. doi:10.1021/i260036a010.
[2] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Stein, Prof Dr-Ing Werner Alexander, and Dipl-Ing (FH) Wolfgang Schmidt. “Wärmeübergang auf der
Wärmeträgerseite eines Rührbehälters mit einem einfachen Mantel.” Forschung im Ingenieurwesen 59, no. 5 (May
1993): 73-90. doi:10.1007/BF02561203.
[2] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Achenbach, E. “Heat and Flow Characteristics of Packed Beds.” Experimental Thermal and Fluid Science 10, no.
1 (January 1, 1995): 17-27. doi:10.1016/0894-1777(94)00077-L.
[2] Abdulmohsin, Rahman S., and Muthanna H. Al-Dahhan. “Characteristics of Convective Heat Trans-
port in a Packed Pebble-Bed Reactor.” Nuclear Engineering and Design 284 (April 1, 2015): 143-52.
doi:10.1016/j.nucengdes.2014.11.041.
[1] Reactor Core Design of High-Temperature Gas-Cooled Reactors Part 2: Heat Transfer in Spherical Fuel Elements
(June 1983). http://www.kta-gs.de/e/standards/3100/3102_2_engl_1983_06.pdf
[2] Abdulmohsin, Rahman S., and Muthanna H. Al-Dahhan. “Characteristics of Convective Heat Trans-
port in a Packed Pebble-Bed Reactor.” Nuclear Engineering and Design 284 (April 1, 2015): 143-52.
doi:10.1016/j.nucengdes.2014.11.041.

Bibliography 263
Heat Transfer Documentation, Release 1.0.3

[1] Wakao, Noriaki, and Seiichirō Kagei. Heat and Mass Transfer in Packed Beds. Taylor & Francis, 1982.
[2] Abdulmohsin, Rahman S., and Muthanna H. Al-Dahhan. “Characteristics of Convective Heat Trans-
port in a Packed Pebble-Bed Reactor.” Nuclear Engineering and Design 284 (April 1, 2015): 143-52.
doi:10.1016/j.nucengdes.2014.11.041.
[1] Gnielinski, V. (1981) “Equations for the calculation of heat and mass transfer during flow through stationary spher-
ical packings at moderate and high Peclet numbers”. International Chemical Engineering 21 (3): 378-383
[2] Gnielinski, V. (1982) “Berechnung des Warmeund Stoffaustauschs in durchstomten ruhenden Schuttungen”. Ver-
fahrenstechnik 16(1): 36-39
[3] Gnielinski, V. in G esellschaft, V. D. I., ed. VDI Heat Atlas. 2nd ed. 2010 edition. Berlin; New York: Springer,
2010.
[1] Khan, T. S., M. S. Khan, Ming-C. Chyu, and Z. H. Ayub. “Experimental Investigation of Single Phase Convec-
tive Heat Transfer Coefficient in a Corrugated Plate Heat Exchanger for Multiple Plate Configurations.” Applied
Thermal Engineering 30, no. 8 (June 1, 2010): 1058-65. https://doi.org/10.1016/j.applthermaleng.2010.01.021.
[1] Kumar, H. “The plate heat exchanger: construction and design.” In First U.K. National Conference on Heat Trans-
fer: Held at the University of Leeds, 3-5 July 1984, Institute of Chemical Engineering Symposium Series, vol. 86,
pp. 1275-1288. 1984.
[2] Ayub, Zahid H. “Plate Heat Exchanger Literature Survey and New Heat Transfer and Pressure Drop Cor-
relations for Refrigerant Evaporators.” Heat Transfer Engineering 24, no. 5 (September 1, 2003): 3-16.
doi:10.1080/01457630304056.
[1] Martin, Holger. “A Theoretical Approach to Predict the Performance of Chevron-Type Plate Heat Exchangers.”
Chemical Engineering and Processing: Process Intensification 35, no. 4 (January 1, 1996): 301-10. https://doi.
org/10.1016/0255-2701(95)04129-X.
[2] Martin, Holger. “Economic optimization of compact heat exchangers.” EF-Conference on Compact Heat Ex-
changers and Enhancement Technology for the Process Industries, Banff, Canada, July 18-23, 1999, 1999.
https://publikationen.bibliothek.kit.edu/1000034866.
[3] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Muley, A., and R. M. Manglik. “Experimental Study of Turbulent Flow Heat Transfer and Pressure Drop in a
Plate Heat Exchanger With Chevron Plates.” Journal of Heat Transfer 121, no. 1 (February 1, 1999): 110-17.
doi:10.1115/1.2825923.
[2] Palm, Björn, and Joachim Claesson. “Plate Heat Exchangers: Calculation Methods for Single- and Two-Phase
Flow (Keynote),” January 1, 2005, 103-13. https://doi.org/10.1115/ICMM2005-75092.
[1] Bishop A.A., Sandberg R.O., Tong L.S. (1965) Forced convection heat transfer to water at near-critical temperature
and supercritical pressures. In: AIChE J. Chemical engineering symposium series, no. 2. Institute of Chemical
Engineers, London
[2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.
[3] Yu, Jiyang, Baoshan Jia, Dan Wu, and Daling Wang. “Optimization of Heat Transfer Coefficient Correlation at
Supercritical Pressure Using Genetic Algorithms.” Heat and Mass Transfer 45, no. 6 (January 8, 2009): 757-66.
doi:10.1007/s00231-008-0475-4.
[4] Jäger, Wadim, Victor Hugo Sánchez Espinoza, and Antonio Hurtado. “Review and Proposal for Heat
Transfer Predictions at Supercritical Water Conditions Using Existing Correlations and Experiments.” Nu-
clear Engineering and Design, (W3MDM) University of Leeds International Symposium: What Where
When? Multi-dimensional Advances for Industrial Process Monitoring, 241, no. 6 (June 2011): 2184-2203.
doi:10.1016/j.nucengdes.2011.03.022.

264 Bibliography
Heat Transfer Documentation, Release 1.0.3

[1] Bringer, R. P., and J. M. Smith. “Heat Transfer in the Critical Region.” AIChE Journal 3, no. 1 (March 1, 1957):
49-55. doi:10.1002/aic.690030110.
[2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.
[3] Yu, Jiyang, Baoshan Jia, Dan Wu, and Daling Wang. “Optimization of Heat Transfer Coefficient Correlation at
Supercritical Pressure Using Genetic Algorithms.” Heat and Mass Transfer 45, no. 6 (January 8, 2009): 757-66.
doi:10.1007/s00231-008-0475-4.
[1] Gorban LM, Pomet’ko RS, Khryaschev OA (1990) Modeling of water heat transfer with Freon of supercritical
pressure, 1766, Institute of Physics and Power Engineering, Obninsk
[2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.
[3] Yu, Jiyang, Baoshan Jia, Dan Wu, and Daling Wang. “Optimization of Heat Transfer Coefficient Correlation at
Supercritical Pressure Using Genetic Algorithms.” Heat and Mass Transfer 45, no. 6 (January 8, 2009): 757-66.
doi:10.1007/s00231-008-0475-4.
[1] Griem, H. “A New Procedure for the Prediction of Forced Convection Heat Transfer at near- and Supercritical
Pressure.” Heat and Mass Transfer 31, no. 5 (1996): 301-5. doi:10.1007/BF02184042.
[2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.
[3] Yu, Jiyang, Baoshan Jia, Dan Wu, and Daling Wang. “Optimization of Heat Transfer Coefficient Correlation at
Supercritical Pressure Using Genetic Algorithms.” Heat and Mass Transfer 45, no. 6 (January 8, 2009): 757-66.
doi:10.1007/s00231-008-0475-4.
[4] Jäger, Wadim, Victor Hugo Sánchez Espinoza, and Antonio Hurtado. “Review and Proposal for Heat
Transfer Predictions at Supercritical Water Conditions Using Existing Correlations and Experiments.” Nu-
clear Engineering and Design, (W3MDM) University of Leeds International Symposium: What Where
When? Multi-dimensional Advances for Industrial Process Monitoring, 241, no. 6 (June 2011): 2184-2203.
doi:10.1016/j.nucengdes.2011.03.022.
[1] Gupta, Sahil, Amjad Farah, Krysten King, Sarah Mokry, and Igor Pioro. “Developing New Heat-Transfer Correla-
tion for SuperCritical-Water Flow in Vertical Bare Tubes,” January 1, 2010, 809-17. doi:10.1115/ICONE18-30024.
[2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.
[1] Jackson, J. D. “Consideration of the Heat Transfer Properties of Supercritical Pressure Water in Connection with
the Cooling of Advanced Nuclear Reactors”, 2002.
[2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.
[3] Yu, Jiyang, Baoshan Jia, Dan Wu, and Daling Wang. “Optimization of Heat Transfer Coefficient Correlation at
Supercritical Pressure Using Genetic Algorithms.” Heat and Mass Transfer 45, no. 6 (January 8, 2009): 757-66.
doi:10.1007/s00231-008-0475-4.
[4] Jäger, Wadim, Victor Hugo Sánchez Espinoza, and Antonio Hurtado. “Review and Proposal for Heat
Transfer Predictions at Supercritical Water Conditions Using Existing Correlations and Experiments.” Nu-
clear Engineering and Design, (W3MDM) University of Leeds International Symposium: What Where

Bibliography 265
Heat Transfer Documentation, Release 1.0.3

When? Multi-dimensional Advances for Industrial Process Monitoring, 241, no. 6 (June 2011): 2184-2203.
doi:10.1016/j.nucengdes.2011.03.022.
[1] Kitoh, Kazuaki, Seiichi Koshizuka, and Yoshiaki Oka. “Refinement of Transient Criteria and Safety Analysis for a
High-Temperature Reactor Cooled by Supercritical Water.” Nuclear Technology 135, no. 3 (September 1, 2001):
252-64.
[2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.
[3] Yu, Jiyang, Baoshan Jia, Dan Wu, and Daling Wang. “Optimization of Heat Transfer Coefficient Correlation at
Supercritical Pressure Using Genetic Algorithms.” Heat and Mass Transfer 45, no. 6 (January 8, 2009): 757-66.
doi:10.1007/s00231-008-0475-4.
[4] Jäger, Wadim, Victor Hugo Sánchez Espinoza, and Antonio Hurtado. “Review and Proposal for Heat
Transfer Predictions at Supercritical Water Conditions Using Existing Correlations and Experiments.” Nu-
clear Engineering and Design, (W3MDM) University of Leeds International Symposium: What Where
When? Multi-dimensional Advances for Industrial Process Monitoring, 241, no. 6 (June 2011): 2184-2203.
doi:10.1016/j.nucengdes.2011.03.022.
[1] Krasnoshchekov, E.A., Protopopov, V.S., Van Fen, Kuraeva, I.V., 1967. Experimental investigation of heat transfer
for carbon dioxide in the supercritical region. In Proceedings of the Second All-Soviet Union Conference on Heat
and Mass Transfer, Minsk, Belarus, May.
[2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.
[1] Krasnoshchekov EA, Protopopov VS (1959) Heat transfer at supercritical region in flow of carbon dioxide and
water in tubes. Therm Eng 12:26-30
[2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.
[3] Yu, Jiyang, Baoshan Jia, Dan Wu, and Daling Wang. “Optimization of Heat Transfer Coefficient Correlation at
Supercritical Pressure Using Genetic Algorithms.” Heat and Mass Transfer 45, no. 6 (January 8, 2009): 757-66.
doi:10.1007/s00231-008-0475-4.
[4] Jäger, Wadim, Victor Hugo Sánchez Espinoza, and Antonio Hurtado. “Review and Proposal for Heat
Transfer Predictions at Supercritical Water Conditions Using Existing Correlations and Experiments.” Nu-
clear Engineering and Design, (W3MDM) University of Leeds International Symposium: What Where
When? Multi-dimensional Advances for Industrial Process Monitoring, 241, no. 6 (June 2011): 2184-2203.
doi:10.1016/j.nucengdes.2011.03.022.
[1] Mac Adams, William H. Heat Transmission. New York and London, 1942.
[2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.
[1] Mokry, Sarah, Igor Pioro, Amjad Farah, Krysten King, Sahil Gupta, Wargha Peiman, and Pavel Kirillov. “De-
velopment of Supercritical Water Heat-Transfer Correlation for Vertical Bare Tubes.” Nuclear Engineering and
Design, International Conference on Nuclear Energy for New Europe 2009, 241, no. 4 (April 2011): 1126-36.
doi:10.1016/j.nucengdes.2010.06.012.
[2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.

266 Bibliography
Heat Transfer Documentation, Release 1.0.3

[1] Ornatsky A.P., Glushchenko, L.P., Siomin, E.T. (1970). The research of temperature conditions of small diameter
parallel tubes cooled by water under supercritical pressures. In: Proceedings of the 4th international heat transfer
conference, Paris-Versailles, France. Elsevier, Amsterdam, vol VI, Paper no. B, 8 November 1970
[2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.
[3] Yu, Jiyang, Baoshan Jia, Dan Wu, and Daling Wang. “Optimization of Heat Transfer Coefficient Correlation at
Supercritical Pressure Using Genetic Algorithms.” Heat and Mass Transfer 45, no. 6 (January 8, 2009): 757-66.
doi:10.1007/s00231-008-0475-4.
[1] Petukhov, B.S., V.A. Kurganov, and V.B. Ankudinov. “HEAT TRANSFER AND FLOW RESISTANCE IN THE
TURBULENT PIPE FLOW OF A FLUID WITH NEAR-CRITICAL STATE PARAMETERS.” High Temperature
21, no. 1 (1983): 81-89.
[2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.
[1] M. E Shitsman, Impairment of the heat transmission at supercritical pressures, High. Temperature, 1963, 1(2):
237-244
[2] Miropol’skiy ZL, Shitsman ME (1957). Heat transfer to water and steam at variable specific heat. J Tech Phys
XXVII(10): 2359-2372
[3] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.
[4] Yu, Jiyang, Baoshan Jia, Dan Wu, and Daling Wang. “Optimization of Heat Transfer Coefficient Correlation at
Supercritical Pressure Using Genetic Algorithms.” Heat and Mass Transfer 45, no. 6 (January 8, 2009): 757-66.
doi:10.1007/s00231-008-0475-4.
[1] Swenson, H. S., J. R. Carver, and C. R. Kakarala. “Heat Transfer to Supercritical Water in Smooth-Bore Tubes.”
Journal of Heat Transfer 87, no. 4 (November 1, 1965): 477-83. doi:10.1115/1.3689139.
[2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.
[3] Yu, Jiyang, Baoshan Jia, Dan Wu, and Daling Wang. “Optimization of Heat Transfer Coefficient Correlation at
Supercritical Pressure Using Genetic Algorithms.” Heat and Mass Transfer 45, no. 6 (January 8, 2009): 757-66.
doi:10.1007/s00231-008-0475-4.
[4] Jäger, Wadim, Victor Hugo Sánchez Espinoza, and Antonio Hurtado. “Review and Proposal for Heat
Transfer Predictions at Supercritical Water Conditions Using Existing Correlations and Experiments.” Nu-
clear Engineering and Design, (W3MDM) University of Leeds International Symposium: What Where
When? Multi-dimensional Advances for Industrial Process Monitoring, 241, no. 6 (June 2011): 2184-2203.
doi:10.1016/j.nucengdes.2011.03.022.
[1] Xu, F., Guo, L.J., Mao, Y.F., Jiang, X.E., 2005. “Experimental investigation to the heat transfer characteristics of
water in vertical pipes under supercritical pressure”. J. Xi’an Jiaotong University 39, 468-471.
[2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.
[1] Yamagata, K, K Nishikawa, S Hasegawa, T Fujii, and S Yoshida. “Forced Convective Heat Transfer to Supercritical
Water Flowing in Tubes.” International Journal of Heat and Mass Transfer 15, no. 12 (December 1, 1972): 2575-93.
doi:10.1016/0017-9310(72)90148-2.

Bibliography 267
Heat Transfer Documentation, Release 1.0.3

[2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.
[3] Yu, Jiyang, Baoshan Jia, Dan Wu, and Daling Wang. “Optimization of Heat Transfer Coefficient Correlation at
Supercritical Pressure Using Genetic Algorithms.” Heat and Mass Transfer 45, no. 6 (January 8, 2009): 757-66.
doi:10.1007/s00231-008-0475-4.
[4] Jäger, Wadim, Victor Hugo Sánchez Espinoza, and Antonio Hurtado. “Review and Proposal for Heat
Transfer Predictions at Supercritical Water Conditions Using Existing Correlations and Experiments.” Nu-
clear Engineering and Design, (W3MDM) University of Leeds International Symposium: What Where
When? Multi-dimensional Advances for Industrial Process Monitoring, 241, no. 6 (June 2011): 2184-2203.
doi:10.1016/j.nucengdes.2011.03.022.
[1] Zhu, Xiaojing, Qincheng Bi, Dong Yang, and Tingkuan Chen. “An Investigation on Heat Transfer Characteristics
of Different Pressure Steam-Water in Vertical Upward Tube.” Nuclear Engineering and Design 239, no. 2 (February
2009): 381-88. doi:10.1016/j.nucengdes.2008.10.026.
[2] Chen, Weiwei, Xiande Fang, Yu Xu, and Xianghui Su. “An Assessment of Correlations of Forced Convec-
tion Heat Transfer to Water at Supercritical Pressure.” Annals of Nuclear Energy 76 (February 2015): 451-60.
doi:10.1016/j.anucene.2014.10.027.
[1] “Convective Heat Transfer During Crossflow of Fluids Over Plain Tube Banks.” ESDU 73031 (November 1, 1973).
[1] “Convective Heat Transfer During Crossflow of Fluids Over Plain Tube Banks.” ESDU 73031 (November 1, 1973).
[2] Hewitt, G. L. Shires, T. Reg Bott G. F., George L. Shires, and T. R. Bott. Process Heat Transfer. 1st edition. Boca
Raton: CRC Press, 1994.
[3] Rabas, T. J., and J. Taborek. “Survey of Turbulent Forced-Convection Heat Transfer and Pressure Drop Character-
istics of Low-Finned Tube Banks in Cross Flow.” Heat Transfer Engineering 8, no. 2 (January 1987): 49-62.
[1] “High-Fin Staggered Tube Banks: Heat Transfer and Pressure Drop for Turbulent Single Phase Gas Flow.” ESDU
86022 (October 1, 1986).
[2] Hewitt, G. L. Shires, T. Reg Bott G. F., George L. Shires, and T. R. Bott. Process Heat Transfer. 1st edition. Boca
Raton: CRC Press, 1994.
[1] Grimson, E. D. (1937) Correlation and Utilisation of New Data on Flow Resistance and Heat Transfer for Cross
Flow of Gases over Tube Banks. Trans. ASME. 59 583-594
[1] Schlunder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Handbook. Wash-
ington: Hemisphere Pub. Corp., 1987.
[2] Baehr, Hans Dieter, and Karl Stephan. Heat and Mass Transfer. Springer, 2013.
[1] Zukauskas, A. Heat transfer from tubes in crossflow. In T.F. Irvine, Jr. and J. P. Hartnett, editors, Advances in Heat
Transfer, volume 8, pages 93-160. Academic Press, Inc., New York, 1972.
[2] Bejan, Adrian. “Convection Heat Transfer”, 4E. Hoboken, New Jersey: Wiley, 2013.
[1] Zukauskas, A. Heat transfer from tubes in crossflow. In T.F. Irvine, Jr. and J. P. Hartnett, editors, Advances in Heat
Transfer, volume 8, pages 93-160. Academic Press, Inc., New York, 1972.
[1] Bell, Kenneth J. Final Report of the Cooperative Research Program on Shell and Tube Heat Exchangers. University
of Delaware, Engineering Experimental Station, 1963.
[2] Bell, Kenneth J. Delaware Method for Shell-Side Design. In Heat Transfer Equipment Design, by Shah, R. K.,
Eleswarapu Chinna Subbarao, and R. A. Mashelkar. CRC Press, 1988.
[3] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional,
2007.

268 Bibliography
Heat Transfer Documentation, Release 1.0.3

[4] Schlünder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Handbook. Wash-
ington: Hemisphere Pub. Corp., 1987.
[5] Serth, R. W., Process Heat Transfer: Principles, Applications and Rules of Thumb. 2E. Amsterdam: Academic
Press, 2014.
[1] Bell, Kenneth J. Final Report of the Cooperative Research Program on Shell and Tube Heat Exchangers. University
of Delaware, Engineering Experimental Station, 1963.
[2] Bell, Kenneth J. Delaware Method for Shell-Side Design. In Heat Transfer Equipment Design, by Shah, R. K.,
Eleswarapu Chinna Subbarao, and R. A. Mashelkar. CRC Press, 1988.
[3] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional,
2007.
[4] Schlünder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Handbook. Wash-
ington: Hemisphere Pub. Corp., 1987.
[5] Serth, R. W., Process Heat Transfer: Principles, Applications and Rules of Thumb. 2E. Amsterdam: Academic
Press, 2014.
[6] Hall, Stephen. Rules of Thumb for Chemical Engineers, Fifth Edition. 5th edition. Oxford; Waltham , MA:
Butterworth-Heinemann, 2012.
[1] Bell, Kenneth J. Final Report of the Cooperative Research Program on Shell and Tube Heat Exchangers. University
of Delaware, Engineering Experimental Station, 1963.
[2] Bell, Kenneth J. Delaware Method for Shell-Side Design. In Heat Transfer Equipment Design, by Shah, R. K.,
Eleswarapu Chinna Subbarao, and R. A. Mashelkar. CRC Press, 1988.
[3] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. McGraw-Hill Professional,
2007.
[4] Schlünder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Handbook. Wash-
ington: Hemisphere Pub. Corp., 1987.
[1] Kern, Donald Quentin. Process Heat Transfer. McGraw-Hill, 1950.
[2] Peters, Max, Klaus Timmerhaus, and Ronald West. Plant Design and Economics for Chemical Engineers. 5E. New
York: McGraw-Hill, 2002.
[1] Zukauskas, A. Heat transfer from tubes in crossflow. In T.F. Irvine, Jr. and J. P. Hartnett, editors, Advances in Heat
Transfer, volume 8, pages 93-160. Academic Press, Inc., New York, 1972.
[2] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Bell, Kenneth J. Final Report of the Cooperative Research Program on Shell and Tube Heat Exchangers. University
of Delaware, Engineering Experimental Station, 1963.
[2] Bell, Kenneth J. Delaware Method for Shell-Side Design. In Heat Transfer Equipment Design, by Shah, R. K.,
Eleswarapu Chinna Subbarao, and R. A. Mashelkar. CRC Press, 1988.
[3] Schlünder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Handbook. Wash-
ington: Hemisphere Pub. Corp., 1987.
[4] Serth, R. W., Process Heat Transfer: Principles, Applications and Rules of Thumb. 2E. Amsterdam: Academic
Press, 2014.
[5] Hall, Stephen. Rules of Thumb for Chemical Engineers, Fifth Edition. 5th edition. Oxford; Waltham , MA:
Butterworth-Heinemann, 2012.
[1] Bell, Kenneth J. Final Report of the Cooperative Research Program on Shell and Tube Heat Exchangers. University
of Delaware, Engineering Experimental Station, 1963.

Bibliography 269
Heat Transfer Documentation, Release 1.0.3

[2] Bell, Kenneth J. Delaware Method for Shell-Side Design. In Heat Transfer Equipment Design, by Shah, R. K.,
Eleswarapu Chinna Subbarao, and R. A. Mashelkar. CRC Press, 1988.
[3] Schlünder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Handbook. Wash-
ington: Hemisphere Pub. Corp., 1987.
[4] Serth, R. W., Process Heat Transfer: Principles, Applications and Rules of Thumb. 2E. Amsterdam: Academic
Press, 2014.
[5] Hall, Stephen. Rules of Thumb for Chemical Engineers, Fifth Edition. 5th edition. Oxford; Waltham , MA:
Butterworth-Heinemann, 2012.
[1] Aggour, Mohamed A. Hydrodynamics and Heat Transfer in Two-Phase Two-Component Flows, Ph.D. Thesis,
University of Manutoba, Canada (1978). http://mspace.lib.umanitoba.ca/xmlui/handle/1993/14171.
[2] Dongwoo Kim, Venkata K. Ryali, Afshin J. Ghajar, Ronald L. Dougherty. “Comparison of 20 Two-Phase Heat
Transfer Correlations with Seven Sets of Experimental Data, Including Flow Pattern and Tube Inclination Effects.”
Heat Transfer Engineering 20, no. 1 (February 1, 1999): 15-40. doi:10.1080/014576399271691.
[1] Davis, E. J., and M. M. David. “Two-Phase Gas-Liquid Convection Heat Transfer. A Correlation.” Industrial &
Engineering Chemistry Fundamentals 3, no. 2 (May 1, 1964): 111-18. doi:10.1021/i160010a005.
[2] Dongwoo Kim, Venkata K. Ryali, Afshin J. Ghajar, Ronald L. Dougherty. “Comparison of 20 Two-Phase Heat
Transfer Correlations with Seven Sets of Experimental Data, Including Flow Pattern and Tube Inclination Effects.”
Heat Transfer Engineering 20, no. 1 (February 1, 1999): 15-40. doi:10.1080/014576399271691.
[1] Elamvaluthi, G., and N. S. Srinivas. “Two-Phase Heat Transfer in Two Component Vertical Flows.” International
Journal of Multiphase Flow 10, no. 2 (April 1, 1984): 237-42. doi:10.1016/0301-9322(84)90021-1.
[2] Dongwoo Kim, Venkata K. Ryali, Afshin J. Ghajar, Ronald L. Dougherty. “Comparison of 20 Two-Phase Heat
Transfer Correlations with Seven Sets of Experimental Data, Including Flow Pattern and Tube Inclination Effects.”
Heat Transfer Engineering 20, no. 1 (February 1, 1999): 15-40. doi:10.1080/014576399271691.
[1] Groothuis, H., and W. P. Hendal. “Heat Transfer in Two-Phase Flow.: Chemical Engineering Science 11, no. 3
(November 1, 1959): 212-20. doi:10.1016/0009-2509(59)80089-0.
[2] Dongwoo Kim, Venkata K. Ryali, Afshin J. Ghajar, Ronald L. Dougherty. “Comparison of 20 Two-Phase Heat
Transfer Correlations with Seven Sets of Experimental Data, Including Flow Pattern and Tube Inclination Effects.”
Heat Transfer Engineering 20, no. 1 (February 1, 1999): 15-40. doi:10.1080/014576399271691.
[1] Hughmark, G. A. “Holdup and Heat Transfer in Horizontal Slug Gas- Liquid Flow.” Chemical Engineering Science
20, no. 12 (December 1, 1965): 1007-10. doi:10.1016/0009-2509(65)80101-4.
[2] Dongwoo Kim, Venkata K. Ryali, Afshin J. Ghajar, Ronald L. Dougherty. “Comparison of 20 Two-Phase Heat
Transfer Correlations with Seven Sets of Experimental Data, Including Flow Pattern and Tube Inclination Effects.”
Heat Transfer Engineering 20, no. 1 (February 1, 1999): 15-40. doi:10.1080/014576399271691.
[1] Knott, R. F., R. N. Anderson, Andreas. Acrivos, and E. E. Petersen. “An Experimental Study of Heat Trans-
fer to Nitrogen-Oil Mixtures.” Industrial & Engineering Chemistry 51, no. 11 (November 1, 1959): 1369-72.
doi:10.1021/ie50599a032.
[2] Dongwoo Kim, Venkata K. Ryali, Afshin J. Ghajar, Ronald L. Dougherty. “Comparison of 20 Two-Phase Heat
Transfer Correlations with Seven Sets of Experimental Data, Including Flow Pattern and Tube Inclination Effects.”
Heat Transfer Engineering 20, no. 1 (February 1, 1999): 15-40. doi:10.1080/014576399271691.
[1] Kudirka, A. A., R. J. Grosh, and P. W. McFadden. “Heat Transfer in Two-Phase Flow of Gas-Liquid Mixtures.”
Industrial & Engineering Chemistry Fundamentals 4, no. 3 (August 1, 1965): 339-44. doi:10.1021/i160015a018.
[2] Dongwoo Kim, Venkata K. Ryali, Afshin J. Ghajar, Ronald L. Dougherty. “Comparison of 20 Two-Phase Heat
Transfer Correlations with Seven Sets of Experimental Data, Including Flow Pattern and Tube Inclination Effects.”
Heat Transfer Engineering 20, no. 1 (February 1, 1999): 15-40. doi:10.1080/014576399271691.

270 Bibliography
Heat Transfer Documentation, Release 1.0.3

[1] Martin, B. W, and G. E Sims. “Forced Convection Heat Transfer to Water with Air Injection in a Rectangular
Duct.” International Journal of Heat and Mass Transfer 14, no. 8 (August 1, 1971): 1115-34. doi:10.1016/0017-
9310(71)90208-0.
[2] Dongwoo Kim, Venkata K. Ryali, Afshin J. Ghajar, Ronald L. Dougherty. “Comparison of 20 Two-Phase Heat
Transfer Correlations with Seven Sets of Experimental Data, Including Flow Pattern and Tube Inclination Effects.”
Heat Transfer Engineering 20, no. 1 (February 1, 1999): 15-40. doi:10.1080/014576399271691.
[1] Ravipudi, S., and Godbold, T., The Effect of Mass Transfer on Heat Transfer Rates for Two-Phase Flow in a Vertical
Pipe, Proceedings 6th International Heat Transfer Conference, Toronto, V. 1, p. 505-510, 1978.
[2] Dongwoo Kim, Venkata K. Ryali, Afshin J. Ghajar, Ronald L. Dougherty. “Comparison of 20 Two-Phase Heat
Transfer Correlations with Seven Sets of Experimental Data, Including Flow Pattern and Tube Inclination Effects.”
Heat Transfer Engineering 20, no. 1 (February 1, 1999): 15-40. doi:10.1080/014576399271691.
[1] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Kern, Donald Quentin, and Allan D. Kraus. Extended Surface Heat Transfer. McGraw-Hill, 1972.
[2] Thulukkanam, Kuppan. Heat Exchanger Design Handbook, Second Edition. CRC Press, 2013.
[3] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[4] Kraus, Allan D., Abdul Aziz, and James Welty. Extended Surface Heat Transfer. 1st edition. New York: Wiley-
Interscience, 2001.
[5] Perrotin, Thomas, and Denis Clodic. “Fin Efficiency Calculation in Enhanced Fin-and-Tube Heat Exchangers in
Dry Conditions.” In Proc. Int. Congress of Refrigeration 2003, 2003.
[1] Kays, William M., and Michael E. Crawford. Convective Heat and Mass Transfer. 3rd edition. New York: McGraw-
Hill Science/Engineering/Math, 1993.
[1] Kays, William M., and Michael E. Crawford. Convective Heat and Mass Transfer. 3rd edition. New York: McGraw-
Hill Science/Engineering/Math, 1993.
[1] Schlunder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Handbook. Wash-
ington: Hemisphere Pub. Corp., 1983.
[1] Phadke, P. S., Determining tube counts for shell and tube exchangers, Chem. Eng., September, 91, 65-68 (1984).
[1] Schlunder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Handbook. Wash-
ington: Hemisphere Pub. Corp., 1983.
[1] Standards of the Tubular Exchanger Manufacturers Association, Ninth edition, 2007, TEMA, New York.
[1] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Fakheri, Ahmad. “A General Expression for the Determination of the Log Mean Temperature Correction Fac-
tor for Shell and Tube Heat Exchangers.” Journal of Heat Transfer 125, no. 3 (May 20, 2003): 527-30.
doi:10.1115/1.1571078.
[2] Hall, Stephen. Rules of Thumb for Chemical Engineers, Fifth Edition. Oxford; Waltham, MA: Butterworth-
Heinemann, 2012.
[1] Standards of the Tubular Exchanger Manufacturers Association, Ninth edition, 2007, TEMA, New York, p 5.4-5.
[1] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.

Bibliography 271
Heat Transfer Documentation, Release 1.0.3

[2] Shah, Ramesh K., and Dusan P. Sekulic. Fundamentals of Heat Exchanger Design. 1st edition. Hoboken, NJ: Wiley,
2002.
[3] Holman, Jack. Heat Transfer. 10th edition. Boston: McGraw-Hill Education, 2009.
[1] Schlunder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Handbook. Wash-
ington: Hemisphere Pub. Corp., 1983.
[1] Green, Don, and Robert Perry. Perry’s Chemical Engineers’ Handbook, Eighth Edition. New York: McGraw-Hill
Education, 2007.
[1] Phadke, P. S., Determining tube counts for shell and tube exchangers, Chem. Eng., September, 91, 65-68 (1984).
[1] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Shah, Ramesh K., and Dusan P. Sekulic. Fundamentals of Heat Exchanger Design. 1st edition. Hoboken, NJ: Wiley,
2002.
[2] Thulukkanam, Kuppan. Heat Exchanger Design Handbook, Second Edition. CRC Press, 2013.
[3] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[1] Shah, Ramesh K., and Dusan P. Sekulic. Fundamentals of Heat Exchanger Design. 1st edition. Hoboken, NJ: Wiley,
2002.
[2] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[1] Shah, Ramesh K., and Dusan P. Sekulic. Fundamentals of Heat Exchanger Design. 1st edition. Hoboken, NJ: Wiley,
2002.
[2] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[1] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Standards of the Tubular Exchanger Manufacturers Association, Ninth edition, 2007, TEMA, New York.
[1] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[2] Shah, Ramesh K., and Dusan P. Sekulic. Fundamentals of Heat Exchanger Design. 1st edition. Hoboken, NJ: Wiley,
2002.
[3] Holman, Jack. Heat Transfer. 10th edition. Boston: McGraw-Hill Education, 2009.
[4] Triboix, Alain. “Exact and Approximate Formulas for Cross Flow Heat Exchangers with Unmixed Flu-
ids.” International Communications in Heat and Mass Transfer 36, no. 2 (February 1, 2009): 121-24.
doi:10.1016/j.icheatmasstransfer.2008.10.012.
[1] Standards of the Tubular Exchanger Manufacturers Association, Ninth edition, 2007, TEMA, New York.
[1] Shah, Ramesh K., and Dusan P. Sekulic. Fundamentals of Heat Exchanger Design. 1st edition. Hoboken, NJ: Wiley,
2002.

272 Bibliography
Heat Transfer Documentation, Release 1.0.3

[2] Thulukkanam, Kuppan. Heat Exchanger Design Handbook, Second Edition. CRC Press, 2013.
[3] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[1] Shah, Ramesh K., and Dusan P. Sekulic. Fundamentals of Heat Exchanger Design. 1st edition. Hoboken, NJ: Wiley,
2002.
[2] Thulukkanam, Kuppan. Heat Exchanger Design Handbook, Second Edition. CRC Press, 2013.
[3] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[1] Shah, Ramesh K., and Dusan P. Sekulic. Fundamentals of Heat Exchanger Design. 1st edition. Hoboken, NJ: Wiley,
2002.
[2] Thulukkanam, Kuppan. Heat Exchanger Design Handbook, Second Edition. CRC Press, 2013.
[3] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[1] Shah, Ramesh K., and Dusan P. Sekulic. Fundamentals of Heat Exchanger Design. 1st edition. Hoboken, NJ: Wiley,
2002.
[2] Thulukkanam, Kuppan. Heat Exchanger Design Handbook, Second Edition. CRC Press, 2013.
[3] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[1] Thulukkanam, Kuppan. Heat Exchanger Design Handbook, Second Edition. CRC Press, 2013.
[2] Schedwill, H., “Thermische Auslegung von Kreuzstromwarmeaustauschern, Fortschr-Ber.” VDI Reihe 6 19, VDI,
Germany, 1968.
[3] Schlunder, Ernst U, and International Center for Heat and Mass Transfer. Heat Exchanger Design Handbook. Wash-
ington: Hemisphere Pub. Corp., 1983.
[4] Nicole, F. J. L.. “Mean temperature difference for heat exchanger design.” Council for Scientific and Industrial
Research, Special Report Chem. 223, Pretoria, South Africa (1972).
[1] Shah, Ramesh K., and Dusan P. Sekulic. Fundamentals of Heat Exchanger Design. 1st edition. Hoboken, NJ: Wiley,
2002.
[2] Thulukkanam, Kuppan. Heat Exchanger Design Handbook, Second Edition. CRC Press, 2013.
[3] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[4] Triboix, Alain. “Exact and Approximate Formulas for Cross Flow Heat Exchangers with Unmixed Flu-
ids.” International Communications in Heat and Mass Transfer 36, no. 2 (February 1, 2009): 121-24.
doi:10.1016/j.icheatmasstransfer.2008.10.012.
[1] Shah, Ramesh K., and Dusan P. Sekulic. Fundamentals of Heat Exchanger Design. 1st edition. Hoboken, NJ: Wiley,
2002.
[2] Rohsenow, Warren and James Hartnett and Young Cho. Handbook of Heat Transfer, 3E. New York: McGraw-Hill,
1998.
[3] Kandlikar, S. G., and R. K. Shah. “Asymptotic Effectiveness-NTU Formulas for Multipass Plate Heat Exchangers.”
Journal of Heat Transfer 111, no. 2 (May 1, 1989): 314-21. doi:10.1115/1.3250679.
[4] Kandlikar, S. G., and R. K. Shah. “Multipass Plate Heat Exchangers Effectiveness-NTU Results and Guide-
lines for Selecting Pass Arrangements.” Journal of Heat Transfer 111, no. 2 (May 1, 1989): 300-313.
doi:10.1115/1.3250678.

Bibliography 273
Heat Transfer Documentation, Release 1.0.3

[1] ASHRAE Handbook: Fundamentals. American Society of Heating, Refrigerating and Air-Conditioning Engineers,
Incorporated, 2013.
[1] ASHRAE Handbook: Fundamentals. American Society of Heating, Refrigerating and Air-Conditioning Engineers,
Incorporated, 2013.
[2] DIN EN 12524 (2000-07) Building Materials and Products Hygrothermal Properties - Tabulated Design Values;
English Version of DIN EN 12524.
[3] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] ASHRAE Handbook: Fundamentals. American Society of Heating, Refrigerating and Air-Conditioning Engineers,
Incorporated, 2013.
[2] DIN EN 12524 (2000-07) Building Materials and Products Hygrothermal Properties - Tabulated Design Values;
English Version of DIN EN 12524.
[3] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] ASHRAE Handbook: Fundamentals. American Society of Heating, Refrigerating and Air-Conditioning Engineers,
Incorporated, 2013.
[2] DIN EN 12524 (2000-07) Building Materials and Products Hygrothermal Properties - Tabulated Design Values;
English Version of DIN EN 12524.
[3] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] ASHRAE Handbook: Fundamentals. American Society of Heating, Refrigerating and Air-Conditioning Engineers,
Incorporated, 2013.
[2] DIN EN 12524 (2000-07) Building Materials and Products Hygrothermal Properties - Tabulated Design Values;
English Version of DIN EN 12524.
[3] Gesellschaft, V. D. I., ed. VDI Heat Atlas. 2nd edition. Berlin; New York:: Springer, 2010.
[1] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[2] Spectral-calc.com. Blackbody Calculator, 2015. http://www.spectralcalc.com/blackbody_calculator/blackbody.
php
[1] Modest, Michael F. Radiative Heat Transfer, Third Edition. 3rd edition. New York: Academic Press, 2013.
[2] Eldridge, Ralph G. “Water Vapor Absorption of Visible and Near Infrared Radiation.” Applied Optics 6, no. 4
(April 1, 1967): 709-13. https://doi.org/10.1364/AO.6.000709.
[1] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. Introduction to Heat Transfer.
6E. Hoboken, NJ: Wiley, 2011.
[1] Meftah, M., L. Damé, D. Bolsée, A. Hauchecorne, N. Pereira, D. Sluse, G. Cessateur, et al. “SOLAR-ISS: A
New Reference Spectrum Based on SOLAR/SOLSPEC Observations.” Astronomy & Astrophysics 611 (March 1,
2018): A1. https://doi.org/10.1051/0004-6361/201731316.
[2] Woods Thomas N., Chamberlin Phillip C., Harder Jerald W., Hock Rachel A., Snow Martin, Eparvier Francis
G., Fontenla Juan, McClintock William E., and Richard Erik C. “Solar Irradiance Reference Spectra (SIRS) for
the 2008 Whole Heliosphere Interval (WHI).” Geophysical Research Letters 36, no. 1 (January 1, 2009). https:
//doi.org/10.1029/2008GL036373.

274 Bibliography
PYTHON MODULE INDEX

h
ht.air_cooler, 8
ht.boiling_flow, 20
ht.boiling_nucleic, 30
ht.boiling_plate, 45
ht.condensation, 51
ht.conduction, 56
ht.conv_external, 65
ht.conv_free_enclosed, 95
ht.conv_free_immersed, 77
ht.conv_internal, 102
ht.conv_jacket, 124
ht.conv_packed_bed, 127
ht.conv_plate, 130
ht.conv_supercritical, 134
ht.conv_tube_bank, 150
ht.conv_two_phase, 162
ht.core, 173
ht.hx, 179
ht.insulation, 227
ht.radiation, 232

275
Heat Transfer Documentation, Release 1.0.3

276 Python Module Index


INDEX

A Davis_David() (in module ht.conv_two_phase), 163


Aggour() (in module ht.conv_two_phase), 162 DBundle_for_Ntubes_HEDH() (in module ht.hx), 179
air_cooler_noise_GPSA() (in module ht.air_cooler), DBundle_for_Ntubes_Phadkeb() (in module ht.hx),
9 179
air_cooler_noise_Mukherjee() (in module DBundle_min() (in module ht.hx), 180
ht.air_cooler), 10 dP_ESDU_high_fin() (in module ht.air_cooler), 11
Akers_Deans_Crosser() (in module ht.condensation), dP_ESDU_low_fin() (in module ht.air_cooler), 12
51 dP_Kern() (in module ht.conv_tube_bank), 159
ASHRAE_k() (in module ht.insulation), 227 dP_Zukauskas() (in module ht.conv_tube_bank), 160

B E
baffle_correction_Bell() (in module effectiveness_from_NTU() (in module ht.hx), 208
ht.conv_tube_bank), 156 effectiveness_NTU_method() (in module ht.hx), 206
baffle_leakage_Bell() (in module Elamvaluthi_Srinivas() (in module
ht.conv_tube_bank), 157 ht.conv_two_phase), 164
baffle_thickness() (in module ht.hx), 204 ESDU_tube_angle_correction() (in module
Bier() (in module ht.boiling_nucleic), 30 ht.conv_tube_bank), 150
blackbody_spectral_radiance() (in module ESDU_tube_row_correction() (in module
ht.radiation), 232 ht.conv_tube_bank), 150
Boyko_Kruzhilin() (in module ht.condensation), 52
bundle_bypassing_Bell() (in module F
ht.conv_tube_bank), 158 F_LMTD_Fakheri() (in module ht.hx), 182
fin_efficiency_Kern_Kraus() (in module ht.core),
C 174
calc_Cmax() (in module ht.hx), 204 Forster_Zuber() (in module ht.boiling_nucleic), 32
calc_Cmin() (in module ht.hx), 205 Ft_aircooler() (in module ht.air_cooler), 8
calc_Cr() (in module ht.hx), 206
Cavallini_Smith_Zecchin() (in module G
ht.condensation), 53 get_tube_TEMA() (in module ht.hx), 211
check_tubing_TEMA() (in module ht.hx), 206 Gorenflo() (in module ht.boiling_nucleic), 33
Chen_Bennett() (in module ht.boiling_flow), 20 grey_transmittance() (in module ht.radiation), 232
Chen_Edelstein() (in module ht.boiling_flow), 21 Groothuis_Hendal() (in module ht.conv_two_phase),
Cooper() (in module ht.boiling_nucleic), 31 165
countercurrent_hx_temperature_check() (in mod-
ule ht.core), 174 H
Cp_material() (in module ht.insulation), 227 h_boiling_Amalfi() (in module ht.boiling_plate), 45
cylindrical_heat_transfer() (in module h_boiling_Han_Lee_Kim() (in module
ht.conduction), 62 ht.boiling_plate), 46
h_boiling_Huang_Sheer() (in module
D ht.boiling_plate), 48
D_baffle_holes() (in module ht.hx), 181 h_boiling_Lee_Kang_Kim() (in module
D_for_Ntubes_VDI() (in module ht.hx), 181 ht.boiling_plate), 49

277
Heat Transfer Documentation, Release 1.0.3

h_boiling_Yan_Lin() (in module ht.boiling_plate), 50 ht.hx


h_Briggs_Young() (in module ht.air_cooler), 14 module, 179
h_ESDU_high_fin() (in module ht.air_cooler), 15 ht.insulation
h_ESDU_low_fin() (in module ht.air_cooler), 17 module, 227
h_Ganguli_VDI() (in module ht.air_cooler), 18 ht.radiation
h_kinetic() (in module ht.condensation), 55 module, 232
h_nucleic() (in module ht.boiling_nucleic), 41 Hughmark() (in module ht.conv_two_phase), 166
h_nucleic_methods() (in module ht.boiling_nucleic),
43 I
h_two_phase() (in module ht.conv_two_phase), 171 is_heating_property() (in module ht.core), 175
h_two_phase_methods() (in module is_heating_temperature() (in module ht.core), 176
ht.conv_two_phase), 172
HEDH_Montinsky() (in module ht.boiling_nucleic), 34 K
HEDH_Taborek() (in module ht.boiling_nucleic), 35 k_material() (in module ht.insulation), 228
helical_turbulent_Nu_Mori_Nakayama() (in mod- k_to_R() (in module ht.conduction), 63
ule ht.conv_internal), 104 k_to_R_value() (in module ht.conduction), 63
helical_turbulent_Nu_Schmidt() (in module k_to_thermal_resistivity() (in module
ht.conv_internal), 105 ht.conduction), 64
helical_turbulent_Nu_Xin_Ebadian() (in module Knott() (in module ht.conv_two_phase), 167
ht.conv_internal), 106 Kudirka_Grosh_McFadden() (in module
ht.air_cooler ht.conv_two_phase), 168
module, 8
ht.boiling_flow L
module, 20
ht.boiling_nucleic L_unsupported_max() (in module ht.hx), 183
module, 30 laminar_correction_Bell() (in module
ht.boiling_plate ht.conv_tube_bank), 161
module, 45 laminar_entry_Baehr_Stephan() (in module
ht.condensation ht.conv_internal), 107
module, 51 laminar_entry_Seider_Tate() (in module
ht.conduction ht.conv_internal), 108
module, 56 laminar_entry_thermal_Hausen() (in module
ht.conv_external ht.conv_internal), 109
module, 65 laminar_Q_const() (in module ht.conv_internal), 107
ht.conv_free_enclosed laminar_T_const() (in module ht.conv_internal), 107
module, 95 Lazarek_Black() (in module ht.boiling_flow), 23
ht.conv_free_immersed Lehrer() (in module ht.conv_jacket), 124
module, 77 Li_Wu() (in module ht.boiling_flow), 24
ht.conv_internal Liu_Winterton() (in module ht.boiling_flow), 25
module, 102 LMTD() (in module ht.core), 173
ht.conv_jacket
module, 124
M
ht.conv_packed_bed Martin_Sims() (in module ht.conv_two_phase), 169
module, 127 McNelly() (in module ht.boiling_nucleic), 35
ht.conv_plate module
module, 130 ht.air_cooler, 8
ht.conv_supercritical ht.boiling_flow, 20
module, 134 ht.boiling_nucleic, 30
ht.conv_tube_bank ht.boiling_plate, 45
module, 150 ht.condensation, 51
ht.conv_two_phase ht.conduction, 56
module, 162 ht.conv_external, 65
ht.core ht.conv_free_enclosed, 95
module, 173 ht.conv_free_immersed, 77

278 Index
Heat Transfer Documentation, Release 1.0.3

ht.conv_internal, 102 Nu_external_cylinder() (in module


ht.conv_jacket, 124 ht.conv_external), 71
ht.conv_packed_bed, 127 Nu_external_cylinder_methods() (in module
ht.conv_plate, 130 ht.conv_external), 71
ht.conv_supercritical, 134 Nu_external_horizontal_plate() (in module
ht.conv_tube_bank, 150 ht.conv_external), 73
ht.conv_two_phase, 162 Nu_external_horizontal_plate_methods() (in
ht.core, 173 module ht.conv_external), 74
ht.hx, 179 Nu_free_horizontal_plate() (in module
ht.insulation, 227 ht.conv_free_immersed), 78
ht.radiation, 232 Nu_free_horizontal_plate_methods() (in module
Montinsky() (in module ht.boiling_nucleic), 36 ht.conv_free_immersed), 78
Morimoto_Hotta() (in module ht.conv_internal), 102 Nu_free_vertical_plate() (in module
ht.conv_free_immersed), 79
N Nu_free_vertical_plate_methods() (in module
nearest_material() (in module ht.insulation), 228 ht.conv_free_immersed), 80
NTU_from_effectiveness() (in module ht.hx), 191 Nu_Gorban() (in module ht.conv_supercritical), 135
NTU_from_P_basic() (in module ht.hx), 187 Nu_Griem() (in module ht.conv_supercritical), 136
NTU_from_P_E() (in module ht.hx), 183 Nu_Grimison_tube_bank() (in module
NTU_from_P_G() (in module ht.hx), 185 ht.conv_tube_bank), 152
NTU_from_P_H() (in module ht.hx), 186 Nu_Gupta() (in module ht.conv_supercritical), 137
NTU_from_P_J() (in module ht.hx), 186 Nu_HEDH_tube_bank() (in module ht.conv_tube_bank),
NTU_from_P_plate() (in module ht.hx), 189 153
NTU_from_UA() (in module ht.hx), 190 Nu_horizontal_cylinder() (in module
Ntubes() (in module ht.hx), 193 ht.conv_free_immersed), 80
Ntubes_HEDH() (in module ht.hx), 194 Nu_horizontal_cylinder_Churchill_Chu() (in
Ntubes_Perrys() (in module ht.hx), 195 module ht.conv_free_immersed), 81
Ntubes_Phadkeb() (in module ht.hx), 196 Nu_horizontal_cylinder_Kuehn_Goldstein() (in
Ntubes_VDI() (in module ht.hx), 197 module ht.conv_free_immersed), 81
Nu_Achenbach() (in module ht.conv_packed_bed), 127 Nu_horizontal_cylinder_methods() (in module
Nu_Bishop() (in module ht.conv_supercritical), 134 ht.conv_free_immersed), 83
Nu_Bringer_Smith() (in module Nu_horizontal_cylinder_Morgan() (in module
ht.conv_supercritical), 135 ht.conv_free_immersed), 82
Nu_coil_Xin_Ebadian() (in module Nu_horizontal_plate_laminar_Baehr() (in module
ht.conv_free_immersed), 77 ht.conv_external), 74
Nu_conv_internal() (in module ht.conv_internal), 102 Nu_horizontal_plate_laminar_Churchill_Ozoe()
Nu_conv_internal_methods() (in module (in module ht.conv_external), 75
ht.conv_internal), 103 Nu_horizontal_plate_McAdams() (in module
Nu_cylinder_Churchill_Bernstein() (in module ht.conv_free_immersed), 83
ht.conv_external), 65 Nu_horizontal_plate_Rohsenow() (in module
Nu_cylinder_Fand() (in module ht.conv_external), 66 ht.conv_free_immersed), 84
Nu_cylinder_McAdams() (in module ht.conv_external), Nu_horizontal_plate_turbulent_Kreith() (in
67 module ht.conv_external), 76
Nu_cylinder_Perkins_Leppert_1962() (in module Nu_horizontal_plate_turbulent_Schlichting()
ht.conv_external), 67 (in module ht.conv_external), 76
Nu_cylinder_Perkins_Leppert_1964() (in module Nu_horizontal_plate_VDI() (in module
ht.conv_external), 68 ht.conv_free_immersed), 85
Nu_cylinder_Sanitjai_Goldstein() (in module Nu_Jackson() (in module ht.conv_supercritical), 138
ht.conv_external), 69 Nu_Kitoh() (in module ht.conv_supercritical), 139
Nu_cylinder_Whitaker() (in module Nu_Krasnoshchekov() (in module
ht.conv_external), 69 ht.conv_supercritical), 140
Nu_cylinder_Zukauskas() (in module Nu_Krasnoshchekov_Protopopov() (in module
ht.conv_external), 70 ht.conv_supercritical), 141
Nu_ESDU_73031() (in module ht.conv_tube_bank), 151 Nu_KTA() (in module ht.conv_packed_bed), 128

Index 279
Heat Transfer Documentation, Release 1.0.3

Nu_laminar_rectangular_Shan_London() (in mod- ht.conv_free_immersed), 94


ule ht.conv_internal), 104 Nu_Wakao_Kagei() (in module ht.conv_packed_bed),
Nu_McAdams() (in module ht.conv_supercritical), 142 128
Nu_Mokry() (in module ht.conv_supercritical), 143 Nu_Xu() (in module ht.conv_supercritical), 147
Nu_Nusselt_Rayleigh_Hollands() (in module Nu_Yamagata() (in module ht.conv_supercritical), 148
ht.conv_free_enclosed), 95 Nu_Zhu() (in module ht.conv_supercritical), 149
Nu_Nusselt_Rayleigh_Holling_Herwig() (in mod- Nu_Zukauskas_Bejan() (in module
ule ht.conv_free_enclosed), 96 ht.conv_tube_bank), 154
Nu_Nusselt_Rayleigh_Probert() (in module Nusselt_laminar() (in module ht.condensation), 54
ht.conv_free_enclosed), 97
Nu_Nusselt_vertical_Thess() (in module P
ht.conv_free_enclosed), 98 P_NTU_method() (in module ht.hx), 197
Nu_Ornatsky() (in module ht.conv_supercritical), 143 Pc() (in module ht.hx), 202
Nu_packed_bed_Gnielinski() (in module Pp() (in module ht.hx), 202
ht.conv_packed_bed), 129
Nu_Petukhov() (in module ht.conv_supercritical), 144 Q
Nu_plate_Khan_Khan() (in module ht.conv_plate), 130 q_rad() (in module ht.radiation), 233
Nu_plate_Kumar() (in module ht.conv_plate), 131 qmax_boiling() (in module ht.boiling_nucleic), 44
Nu_plate_Martin() (in module ht.conv_plate), 132 qmax_boiling_methods() (in module
Nu_plate_Muley_Manglik() (in module ht.boiling_nucleic), 44
ht.conv_plate), 133
Nu_Shitsman() (in module ht.conv_supercritical), 145 R
Nu_sphere_Churchill() (in module R_cylinder() (in module ht.conduction), 56
ht.conv_free_immersed), 86 R_to_k() (in module ht.conduction), 57
Nu_Swenson() (in module ht.conv_supercritical), 146 R_value_to_k() (in module ht.conduction), 57
Nu_vertical_cylinder() (in module Rac_Nusselt_Rayleigh() (in module
ht.conv_free_immersed), 86 ht.conv_free_enclosed), 100
Nu_vertical_cylinder_Al_Arabi_Khamis() (in Rac_Nusselt_Rayleigh_disk() (in module
module ht.conv_free_immersed), 87 ht.conv_free_enclosed), 101
Nu_vertical_cylinder_Carne_Morgan() (in module Ravipudi_Godbold() (in module ht.conv_two_phase),
ht.conv_free_immersed), 88 170
Nu_vertical_cylinder_Eigenson_Morgan() (in refractory_VDI_Cp() (in module ht.insulation), 229
module ht.conv_free_immersed), 88 refractory_VDI_k() (in module ht.insulation), 229
Nu_vertical_cylinder_Griffiths_Davis_Morgan() rho_material() (in module ht.insulation), 230
(in module ht.conv_free_immersed), 89 Rohsenow() (in module ht.boiling_nucleic), 37
Nu_vertical_cylinder_Hanesian_Kalish_Morgan()
(in module ht.conv_free_immersed), 90 S
Nu_vertical_cylinder_Jakob_Linke_Morgan() (in S_isothermal_pipe_eccentric_to_isothermal_pipe()
module ht.conv_free_immersed), 90 (in module ht.conduction), 58
Nu_vertical_cylinder_Kreith_Eckert() (in mod- S_isothermal_pipe_normal_to_plane() (in module
ule ht.conv_free_immersed), 91 ht.conduction), 59
Nu_vertical_cylinder_McAdams_Weiss_Saunders() S_isothermal_pipe_to_isothermal_pipe() (in
(in module ht.conv_free_immersed), 91 module ht.conduction), 59
Nu_vertical_cylinder_methods() (in module S_isothermal_pipe_to_plane() (in module
ht.conv_free_immersed), 94 ht.conduction), 60
Nu_vertical_cylinder_Popiel_Churchill() (in S_isothermal_pipe_to_two_planes() (in module
module ht.conv_free_immersed), 92 ht.conduction), 61
Nu_vertical_cylinder_Touloukian_Morgan() (in S_isothermal_sphere_to_plane() (in module
module ht.conv_free_immersed), 93 ht.conduction), 61
Nu_vertical_helical_coil_Ali() (in module Serth_HEDH() (in module ht.boiling_nucleic), 38
ht.conv_free_enclosed), 99 Shah() (in module ht.condensation), 55
Nu_vertical_helical_coil_Prabhanjan_Rennie_Raghavan() shell_clearance() (in module ht.hx), 211
(in module ht.conv_free_enclosed), 99 size_bundle_from_tubecount() (in module ht.hx),
Nu_vertical_plate_Churchill() (in module 212

280 Index
Heat Transfer Documentation, Release 1.0.3

solar_spectrum() (in module ht.radiation), 234 turbulent_Martinelli() (in module


Stein_Schmidt() (in module ht.conv_jacket), 125 ht.conv_internal), 118
Stephan_Abdelsalam() (in module ht.boiling_nucleic), turbulent_Nunner() (in module ht.conv_internal), 119
39 turbulent_Petukhov_Kirillov_Popov() (in module
Sun_Mishima() (in module ht.boiling_flow), 26 ht.conv_internal), 119
turbulent_Prandtl() (in module ht.conv_internal),
T 120
temperature_effectiveness_air_cooler() (in turbulent_Sandall() (in module ht.conv_internal),
module ht.hx), 219 120
temperature_effectiveness_basic() (in module turbulent_Sieder_Tate() (in module
ht.hx), 221 ht.conv_internal), 121
temperature_effectiveness_plate() (in module turbulent_von_Karman() (in module
ht.hx), 223 ht.conv_internal), 123
temperature_effectiveness_TEMA_E() (in module turbulent_Webb() (in module ht.conv_internal), 122
ht.hx), 213
temperature_effectiveness_TEMA_G() (in module U
ht.hx), 215 UA_from_NTU() (in module ht.hx), 203
temperature_effectiveness_TEMA_H() (in module unequal_baffle_spacing_Bell() (in module
ht.hx), 216 ht.conv_tube_bank), 161
temperature_effectiveness_TEMA_J() (in module
ht.hx), 218 W
thermal_resistivity_to_k() (in module wall_factor() (in module ht.core), 176
ht.conduction), 65 wall_factor_fd() (in module ht.core), 178
Thome() (in module ht.boiling_flow), 27 wall_factor_Nu() (in module ht.core), 177
turbulent_Bhatti_Shah() (in module
ht.conv_internal), 110 Y
turbulent_Churchill_Zajic() (in module Yun_Heo_Kim() (in module ht.boiling_flow), 29
ht.conv_internal), 110
turbulent_Colburn() (in module ht.conv_internal), Z
111
Zuber() (in module ht.boiling_nucleic), 41
turbulent_Dipprey_Sabersky() (in module
Zukauskas_tube_row_correction() (in module
ht.conv_internal), 112
ht.conv_tube_bank), 156
turbulent_Dittus_Boelter() (in module
ht.conv_internal), 112
turbulent_Drexel_McAdams() (in module
ht.conv_internal), 113
turbulent_entry_Hausen() (in module
ht.conv_internal), 122
turbulent_ESDU() (in module ht.conv_internal), 113
turbulent_Friend_Metzner() (in module
ht.conv_internal), 114
turbulent_Gnielinski() (in module
ht.conv_internal), 115
turbulent_Gnielinski_smooth_1() (in module
ht.conv_internal), 115
turbulent_Gnielinski_smooth_2() (in module
ht.conv_internal), 116
turbulent_Gowen_Smith() (in module
ht.conv_internal), 116
turbulent_Kawase_De() (in module ht.conv_internal),
117
turbulent_Kawase_Ulbrecht() (in module
ht.conv_internal), 117

Index 281

You might also like