Conv Jacket
Overview
Convective heat transfer in vessel jackets describes how effectively a circulating utility fluid (cooling water, brine, thermal oil, or steam condensate) exchanges heat with the wall of a reactor or storage vessel. In design and troubleshooting, jacket performance is often summarized by the jacket-side film coefficient h, which is tied to the dimensionless Nusselt number and flow regime; see the background on Convection (heat transfer) and Nusselt number. This topic matters because jacket-side resistance can dominate overall heat-transfer limits, directly affecting batch cycle time, utility demand, and temperature-control stability. Reliable h estimates are therefore central to scale-up, control tuning, and debottlenecking work.
The core concepts unifying this category are forced convection, mixed convection, and dimensionless correlation methods. Both models convert geometry and fluid properties into Reynolds, Prandtl, and (when buoyancy is relevant) Grashof-type effects, then map those quantities to Nu and finally to h through a characteristic gap or channel length. In compact form, engineers use Nu = hL/k, so once Nu is correlated, the heat-transfer coefficient follows directly. For jacketed vessels, inlet orientation and elevation can change local swirl and buoyancy interaction, which is why these functions expose inlet type/location and optional wall-property corrections.
Implementation is based on the Python ht heat-transfer library, specifically its jacket-convection module. The library provides vetted, engineering-focused correlations with consistent units and practical defaults, making it suitable for spreadsheet calculators, preliminary process design, and quick sensitivity studies. Within this category, the functions return average jacket-side coefficients in W/m²/K from physically interpretable inputs (mass flow, vessel/jacket geometry, and thermophysical properties).
LEHRER applies the Lehrer correlation for jacketed vessels, emphasizing the forced-convection contribution while allowing optional buoyancy and wall-viscosity adjustments when enough thermal information is available. It is commonly used when practitioners need a robust estimate from limited data, especially in early design checks or utility-side what-if analyses. The function is sensitive to gap geometry and inlet arrangement, so it is useful for comparing tangential versus radial feed choices and for evaluating whether inlet relocation could improve heat-transfer response. In operation-focused studies, this method is often used to estimate how changes in flow rate or fluid viscosity shift achievable heating/cooling rates.
STEIN_SCHMIDT evaluates jacket performance with a Stein-Schmidt-style formulation that combines forced and natural-convection effects through an equivalent Reynolds-number concept and then computes a composite Nusselt response. Compared with simpler forced-only approaches, it is particularly helpful when density and viscosity differences between bulk and wall conditions are significant, such as strong heating/cooling duties or larger vertical extents. The optional wall-density and roughness-related inputs make it practical for higher-fidelity checks during design refinement and troubleshooting of underperforming jackets. Used together, LEHRER and STEIN_SCHMIDT provide a defensible bracket for jacket-side coefficients across common process conditions.
LEHRER
This function computes the average jacket-side heat transfer coefficient for a vessel jacket using the Lehrer correlation. It combines forced convection behavior in the jacket channel with optional buoyancy effects depending on inlet orientation and thermal conditions.
The Nusselt-number form used by the correlation can be represented as:
Nu = \left[\frac{0.03Re^{0.75}Pr}{1 + \frac{1.74(Pr-1)}{Re^{0.125}}}\right]\left(\frac{\mu}{\mu_w}\right)^{0.14}
The average heat transfer coefficient is then obtained from:
h = \frac{Nu\,k}{d_g}
Excel Usage
=LEHRER(m, Dtank, Djacket, H, Dinlet, rho, Cp, k, mu, muw, isobaric_expansion, dT, inlettype, inletlocation)
m(float, required): Mass flow rate of fluid (kg/s).Dtank(float, required): Outer diameter of tank or vessel surrounded by jacket (m).Djacket(float, required): Inner diameter of jacket surrounding a vessel or tank (m).H(float, required): Height of the vessel or tank (m).Dinlet(float, required): Inner diameter of inlet into the jacket (m).rho(float, required): Density of the fluid at Tm (kg/m^3).Cp(float, required): Heat capacity of fluid at Tm (J/kg/K).k(float, required): Thermal conductivity of fluid at Tm (W/m/K).mu(float, required): Viscosity of fluid at Tm (Pa*s).muw(float, optional, default: null): Viscosity of fluid at Tw (Pa*s).isobaric_expansion(float, optional, default: null): Constant pressure expansivity of a fluid (m^3/mol/K).dT(float, optional, default: null): Temperature difference of fluid in jacket (K).inlettype(str, optional, default: “tangential”): Inlet type (tangential or radial).inletlocation(str, optional, default: “auto”): Inlet location (top, bottom, or auto).
Returns (float): Average heat transfer coefficient inside the jacket (W/m^2/K).
Example 1: Tangential inlet example from docs
Inputs:
| m | Dtank | Djacket | H | Dinlet | dT | rho | Cp | k | mu | muw |
|---|---|---|---|---|---|---|---|---|---|---|
| 2.5 | 0.6 | 0.65 | 0.6 | 0.025 | 20 | 995.7 | 4178.1 | 0.615 | 0.000798 | 0.000355 |
Excel formula:
=LEHRER(2.5, 0.6, 0.65, 0.6, 0.025, 20, 995.7, 4178.1, 0.615, 0.000798, 0.000355)
Expected output:
2922.13
Example 2: Radial inlet with expansion term
Inputs:
| m | Dtank | Djacket | H | Dinlet | dT | rho | Cp | k | mu | muw | inlettype | isobaric_expansion |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2.5 | 0.6 | 0.65 | 0.6 | 0.025 | 20 | 995.7 | 4178.1 | 0.615 | 0.000798 | 0.000355 | radial | 0.000303 |
Excel formula:
=LEHRER(2.5, 0.6, 0.65, 0.6, 0.025, 20, 995.7, 4178.1, 0.615, 0.000798, 0.000355, "radial", 0.000303)
Expected output:
3269.44
Example 3: Automatic inlet location with bottom entry
Inputs:
| m | Dtank | Djacket | H | Dinlet | dT | rho | Cp | k | mu | muw | inletlocation |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1.8 | 0.5 | 0.56 | 0.7 | 0.03 | 15 | 980 | 4100 | 0.62 | 0.0009 | 0.0006 | bottom |
Excel formula:
=LEHRER(1.8, 0.5, 0.56, 0.7, 0.03, 15, 980, 4100, 0.62, 0.0009, 0.0006, "bottom")
Expected output:
1406.42
Example 4: Tangential inlet with defaults
Inputs:
| m | Dtank | Djacket | H | Dinlet | dT | rho | Cp | k | mu | muw |
|---|---|---|---|---|---|---|---|---|---|---|
| 3.1 | 0.8 | 0.86 | 0.9 | 0.04 | 10 | 990 | 4000 | 0.6 | 0.0011 | 0.0008 |
Excel formula:
=LEHRER(3.1, 0.8, 0.86, 0.9, 0.04, 10, 990, 4000, 0.6, 0.0011, 0.0008)
Expected output:
1303.56
Python Code
Show Code
from ht.conv_jacket import Lehrer as ht_lehrer
def Lehrer(m, Dtank, Djacket, H, Dinlet, rho, Cp, k, mu, muw=None, isobaric_expansion=None, dT=None, inlettype='tangential', inletlocation='auto'):
"""
Calculate the average heat transfer coefficient for a jacket around a vessel.
See: https://ht.readthedocs.io/en/latest/ht.conv_jacket.html
This example function is provided as-is without any representation of accuracy.
Args:
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). Default is None.
isobaric_expansion (float, optional): Constant pressure expansivity of a fluid (m^3/mol/K). Default is None.
dT (float, optional): Temperature difference of fluid in jacket (K). Default is None.
inlettype (str, optional): Inlet type (tangential or radial). Valid options: Tangential, Radial. Default is 'tangential'.
inletlocation (str, optional): Inlet location (top, bottom, or auto). Valid options: Auto, Top, Bottom. Default is 'auto'.
Returns:
float: Average heat transfer coefficient inside the jacket (W/m^2/K).
"""
try:
return ht_lehrer(
m=m,
Dtank=Dtank,
Djacket=Djacket,
H=H,
Dinlet=Dinlet,
rho=rho,
Cp=Cp,
k=k,
mu=mu,
muw=muw,
isobaric_expansion=isobaric_expansion,
dT=dT,
inlettype=inlettype,
inletlocation=inletlocation,
)
except Exception as e:
return f"Error: {str(e)}"Online Calculator
STEIN_SCHMIDT
This function calculates the average jacket-side heat transfer coefficient for a vessel using the Stein-Schmidt correlation. It models combined forced and natural convection effects through an equivalent Reynolds number and then evaluates a composite Nusselt-number expression.
The equivalent Reynolds-number form used in the model is:
Re_{eq} = \left[Re^2 \pm \left(\frac{|Gr|\,H/d_{ch}}{50}\right)\right]^{1/2}
The resulting Nusselt number is converted to heat transfer coefficient with:
h = \frac{Nu\,k}{d_{ch}}
Excel Usage
=STEIN_SCHMIDT(m, Dtank, Djacket, H, Dinlet, rho, Cp, k, mu, muw, rhow, inlettype, inletlocation, roughness)
m(float, required): Mass flow rate of fluid (kg/s).Dtank(float, required): Outer diameter of tank or vessel surrounded by jacket (m).Djacket(float, required): Inner diameter of jacket surrounding a vessel or tank (m).H(float, required): Height of the vessel or tank (m).Dinlet(float, required): Inner diameter of inlet into the jacket (m).rho(float, required): Density of the fluid at Tm (kg/m^3).Cp(float, required): Heat capacity of fluid at Tm (J/kg/K).k(float, required): Thermal conductivity of fluid at Tm (W/m/K).mu(float, required): Viscosity of fluid at Tm (Pa*s).muw(float, optional, default: null): Viscosity of fluid at Tw (Pa*s).rhow(float, optional, default: null): Density of the fluid at Tw (kg/m^3).inlettype(str, optional, default: “tangential”): Inlet type (tangential or radial).inletlocation(str, optional, default: “auto”): Inlet location (top, bottom, or auto).roughness(float, optional, default: 0): Roughness of the tank walls (m).
Returns (float): Average heat transfer coefficient inside the jacket (W/m^2/K).
Example 1: Example from docs
Inputs:
| m | Dtank | Djacket | H | Dinlet | rho | Cp | k | mu | muw | rhow |
|---|---|---|---|---|---|---|---|---|---|---|
| 2.5 | 0.6 | 0.65 | 0.6 | 0.025 | 995.7 | 4178.1 | 0.615 | 0.000798 | 0.000355 | 971.8 |
Excel formula:
=STEIN_SCHMIDT(2.5, 0.6, 0.65, 0.6, 0.025, 995.7, 4178.1, 0.615, 0.000798, 0.000355, 971.8)
Expected output:
5695.2
Example 2: Tangential inlet with defaults
Inputs:
| m | Dtank | Djacket | H | Dinlet | rho | Cp | k | mu | muw | rhow |
|---|---|---|---|---|---|---|---|---|---|---|
| 1.6 | 0.5 | 0.56 | 0.7 | 0.03 | 980 | 4100 | 0.62 | 0.0009 | 0.0006 | 970 |
Excel formula:
=STEIN_SCHMIDT(1.6, 0.5, 0.56, 0.7, 0.03, 980, 4100, 0.62, 0.0009, 0.0006, 970)
Expected output:
2779.33
Example 3: Radial inlet at top
Inputs:
| m | Dtank | Djacket | H | Dinlet | rho | Cp | k | mu | muw | rhow | inlettype | inletlocation |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2.2 | 0.7 | 0.75 | 0.8 | 0.04 | 990 | 4000 | 0.6 | 0.0011 | 0.0008 | 980 | radial | top |
Excel formula:
=STEIN_SCHMIDT(2.2, 0.7, 0.75, 0.8, 0.04, 990, 4000, 0.6, 0.0011, 0.0008, 980, "radial", "top")
Expected output:
488.491
Example 4: Nonzero roughness
Inputs:
| m | Dtank | Djacket | H | Dinlet | rho | Cp | k | mu | muw | rhow | roughness |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 | 0.8 | 0.86 | 0.9 | 0.05 | 995 | 4200 | 0.63 | 0.00085 | 0.00055 | 980 | 0.0001 |
Excel formula:
=STEIN_SCHMIDT(3, 0.8, 0.86, 0.9, 0.05, 995, 4200, 0.63, 0.00085, 0.00055, 980, 0.0001)
Expected output:
2135.15
Python Code
Show Code
from ht.conv_jacket import Stein_Schmidt as ht_stein_schmidt
def Stein_Schmidt(m, Dtank, Djacket, H, Dinlet, rho, Cp, k, mu, muw=None, rhow=None, inlettype='tangential', inletlocation='auto', roughness=0):
"""
Calculate the average heat transfer coefficient for a jacket around a vessel.
See: https://ht.readthedocs.io/en/latest/ht.conv_jacket.html
This example function is provided as-is without any representation of accuracy.
Args:
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). Default is None.
rhow (float, optional): Density of the fluid at Tw (kg/m^3). Default is None.
inlettype (str, optional): Inlet type (tangential or radial). Valid options: Tangential, Radial. Default is 'tangential'.
inletlocation (str, optional): Inlet location (top, bottom, or auto). Valid options: Auto, Top, Bottom. Default is 'auto'.
roughness (float, optional): Roughness of the tank walls (m). Default is 0.
Returns:
float: Average heat transfer coefficient inside the jacket (W/m^2/K).
"""
try:
return ht_stein_schmidt(
m=m,
Dtank=Dtank,
Djacket=Djacket,
H=H,
Dinlet=Dinlet,
rho=rho,
Cp=Cp,
k=k,
mu=mu,
muw=muw,
rhow=rhow,
inlettype=inlettype,
inletlocation=inletlocation,
roughness=roughness,
)
except Exception as e:
return f"Error: {str(e)}"Online Calculator