bloc.heat_transfer#

Heat transfer correlations and utilities for reactor modeling.

This module consolidates all heat transfer functions used in Bloc: external natural convection, linearized radiation, thermal resistance networks, gas-to-wall radiative flux, and internal forced convection.

Internal convection delegates to ht.conv_internal which automatically selects the most accurate applicable correlation for the flow regime.

References

[CalebBell_ht]

Caleb Bell and Contributors (2016-2025). ht: Heat transfer component of Chemical Engineering Design Library (ChEDL). CalebBell/ht

Attributes#

Functions#

thermal_resistance_radial_conduction(diameter, length, ...)

Thermal resistance for radial conduction in cylindrical geometry.

thermal_resistance_CC(h_CC, S)

Thermal resistance of a conducto-convective heat transfer surface.

compute_hCC_natConv_vertCyl(diameter, length, ...[, ...])

Natural convection coefficient at the external wall of a vertical cylinder.

compute_hCC_natConv_horizCyl(diameter, length, ...[, ...])

Natural convection coefficient at the external wall of a horizontal cylinder.

compute_hrad_linearRadiation(eps, Tmoy)

Linearized radiative conductance for small temperature differences.

compute_heat_losses_linear(Tr_C, Tamb_C, R_list)

Solve heat transfer through a series thermal resistance stack.

compute_gas2wall_radiative_flux(T_g, T_w, kappa_grey, D)

Radiative flux from a participating gas to the tube wall in W/m2.

internal_convection_h(diameter, mass_flow_rate, gas[, ...])

Compute internal forced convection coefficient for gas in a circular tube.

Module Contents#

bloc.heat_transfer.g = 9.81#
bloc.heat_transfer.sigma_SB = 5.67e-08#
bloc.heat_transfer.nu_air_20C = 1.589e-05#
bloc.heat_transfer.alpha_air_20C = 2.25e-05#
bloc.heat_transfer.conductivity_air_20C = 0.0263#
bloc.heat_transfer.Pr_air_20C = 0.707#
bloc.heat_transfer.thermal_resistance_radial_conduction(diameter, length, conductivity, e_insulation)#

Thermal resistance for radial conduction in cylindrical geometry.

\[R = \frac{\ln(r_2/r_1)}{2\pi k L}, \quad r_1 = D/2, \quad r_2 = D/2 + e_{\mathrm{insulation}}\]
Parameters:
  • diameter (float) – Inner diameter in m.

  • length (float) – Cylinder length in m.

  • conductivity (float) – Thermal conductivity of insulation in W/m/K.

  • e_insulation (float) – Insulation thickness in m.

Returns:

Thermal resistance in K/W.

Return type:

float

bloc.heat_transfer.thermal_resistance_CC(h_CC, S)#

Thermal resistance of a conducto-convective heat transfer surface.

\[R = \frac{1}{h_{\mathrm{CC}} \, S}\]
Parameters:
  • h_CC (float) – Heat transfer coefficient in W/m2/K.

  • S (float) – Surface area in m2.

Returns:

Thermal resistance in K/W.

Return type:

float

bloc.heat_transfer.compute_hCC_natConv_vertCyl(diameter, length, T_wall_C, T_amb_C, conductivity=conductivity_air_20C, nu=nu_air_20C, alpha=alpha_air_20C, Pr=Pr_air_20C)#

Natural convection coefficient at the external wall of a vertical cylinder.

Correlation from Taine / Lefevre (1956).

Warning

Valid for laminar flow only; gives low h values.

\[ \begin{align}\begin{aligned}\mathrm{Ra}_L = \frac{g \beta (T_{\mathrm{wall}} - T_{\mathrm{amb}}) L^3}{\nu \alpha}\\\mathrm{Nu} = \frac{4}{3} \left(\frac{7 \mathrm{Ra}_L \mathrm{Pr}}{100 + 105 \mathrm{Pr}}\right)^{1/4} + 0.1143 \frac{272 + 315 \mathrm{Pr}}{64 + 63 \mathrm{Pr}} \frac{L}{D}, \quad h = \frac{\mathrm{Nu} \, k}{L}\end{aligned}\end{align} \]
Parameters:
  • diameter (float) – Outer diameter in m.

  • length (float) – Cylinder length in m.

  • T_wall_C (float) – Wall temperature in deg C.

  • T_amb_C (float) – Ambient temperature in deg C.

  • conductivity (float, optional) – Fluid thermal conductivity in W/m/K. Defaults to air at 20 deg C.

  • nu (float, optional) – Kinematic viscosity in m2/s. Defaults to air at 20 deg C.

  • alpha (float, optional) – Thermal diffusivity in m2/s. Defaults to air at 20 deg C.

  • Pr (float, optional) – Prandtl number. Defaults to air at 20 deg C.

Returns:

Convective heat transfer coefficient h in W/m2/K.

Return type:

float

bloc.heat_transfer.compute_hCC_natConv_horizCyl(diameter, length, T_wall_C, T_amb_C, conductivity=conductivity_air_20C, nu=nu_air_20C, alpha=alpha_air_20C, Pr=Pr_air_20C)#

Natural convection coefficient at the external wall of a horizontal cylinder.

Uses Churchill & Chu (1975) correlation.

\[ \begin{align}\begin{aligned}\mathrm{Ra}_D = \frac{g \beta (T_{\mathrm{wall}} - T_{\mathrm{amb}}) D^3}{\nu \alpha}\\\mathrm{Nu}_D = \left(0.6 + \frac{0.387 \mathrm{Ra}_D^{1/6}} {(1 + (0.559/\mathrm{Pr})^{9/16})^{8/27}}\right)^2, \quad h = \frac{\mathrm{Nu}_D \, k}{D}\end{aligned}\end{align} \]
Parameters:
  • diameter (float) – Outer diameter in m.

  • length (float) – Cylinder length in m (unused in this correlation, kept for API consistency).

  • T_wall_C (float) – Wall temperature in deg C.

  • T_amb_C (float) – Ambient temperature in deg C.

  • conductivity (float, optional) – Fluid thermal conductivity in W/m/K. Defaults to air at 20 deg C.

  • nu (float, optional) – Kinematic viscosity in m2/s. Defaults to air at 20 deg C.

  • alpha (float, optional) – Thermal diffusivity in m2/s. Defaults to air at 20 deg C.

  • Pr (float, optional) – Prandtl number. Defaults to air at 20 deg C.

Returns:

Convective heat transfer coefficient h in W/m2/K.

Return type:

float

bloc.heat_transfer.compute_hrad_linearRadiation(eps, Tmoy)#

Linearized radiative conductance for small temperature differences.

\[h_{\mathrm{rad}} = \varepsilon \sigma_{\mathrm{SB}} \, 4 T_{\mathrm{moy}}^3\]
Parameters:
  • eps (float) – Emissivity, dimensionless.

  • Tmoy (float) – Mean temperature in K.

Returns:

Linearized radiative heat transfer coefficient in W/m2/K.

Return type:

float

bloc.heat_transfer.compute_heat_losses_linear(Tr_C, Tamb_C, R_list)#

Solve heat transfer through a series thermal resistance stack.

\[R_{\mathrm{tot}} = \sum_i R_i, \quad \Phi = \frac{T_{\mathrm{reac}} - T_{\mathrm{amb}}}{R_{\mathrm{tot}}}, \quad \Delta T_i = \Phi \, R_i\]
Parameters:
  • Tr_C (float) – Temperature inside the reactor in deg C.

  • Tamb_C (float) – Ambient temperature in deg C.

  • R_list (list of float) – Thermal resistances in K/W, ordered from reactor interior to ambient.

Returns:

{"Phi": float, "T_reac": float, "T_wall_ext": float, "T_amb": float, ...} where Phi is heat loss in W.

Return type:

dict

bloc.heat_transfer.compute_gas2wall_radiative_flux(T_g, T_w, kappa_grey, D)#

Radiative flux from a participating gas to the tube wall in W/m2.

Uses the grey gas approximation with cylindrical geometry (mean beam length approximation via spherical integral).

Assumptions:

  • Temperature and composition are uniform in the cross-section.

  • Grey body gas with absorption coefficient kappa_grey.

  • Walls are black (covered by soot); no wall reflection.

\[ \begin{align}\begin{aligned}f_{\mathrm{trans}} = 2 \int_0^{\pi/2} e^{-\kappa D \cos\theta} \cos^2\theta \sin\theta \, d\theta\\q_{\mathrm{rad}} = \left(\frac{2}{3} - f_{\mathrm{trans}}\right) \sigma_{\mathrm{SB}} (T_g^4 - T_w^4)\end{aligned}\end{align} \]

Positive q_rad means net heat transfer from gas to wall.

Parameters:
  • T_g (float) – Gas temperature in K.

  • T_w (float) – Wall temperature in K.

  • kappa_grey (float) – Grey gas absorption coefficient in 1/m. Use kappa_grey = 0 to disable gas radiation.

  • D (float) – Tube inner diameter in m.

Returns:

  • q_rad (float) – Net radiative heat flux from gas to wall in W/m2.

  • f_trans (float) – Transmittance factor (dimensionless).

bloc.heat_transfer.internal_convection_h(diameter, mass_flow_rate, gas, x_position=None)#

Compute internal forced convection coefficient for gas in a circular tube.

Delegates to ht.conv_internal.Nu_conv_internal() [CalebBell_ht] which dynamically selects the most accurate applicable correlation:

  • Laminar developing flow (Re < 2300, x_position provided): Baehr-Stephan laminar thermal/velocity entry.

  • Laminar fully-developed (Re < 2300, no x_position): Constant wall temperature, Nu = 3.66.

  • Turbulent with entry effects (Re > 4000, x_position provided): Hausen.

  • Turbulent general (Re > 4000): Churchill-Zajic.

  • Turbulent, low Prandtl (Pr < 0.03): Martinelli.

Transport properties (viscosity, thermal conductivity, heat capacity) are read from the Cantera Solution object at the current state. The gas mechanism must define a transport model (e.g. Mix or Multi); mechanisms with transport_model == 'none' are not supported.

Parameters:
  • diameter (float) – Tube inner diameter in m.

  • mass_flow_rate (float) – Mass flow rate through the tube in kg/s.

  • gas (cantera.Solution) – Gas object at the current thermodynamic state (must have transport).

  • x_position (float or None, optional) – Distance from the tube inlet in m. When provided, entry-length correlations are used; otherwise fully-developed flow is assumed.

Returns:

Convective heat transfer coefficient h in W/m2/K.

Return type:

float

Raises:

ValueError – If gas.transport_model == 'none' (mechanism has no transport data).

See also

ht.conv_internal.Nu_conv_internal

Underlying correlation selector from the ht library.

Notes

For CH4 pyrolysis conditions (10 SLM, D = 100 mm), Re ~ 130–250 across the full temperature range (25–1600 deg C), so fully-developed laminar flow applies and Nu = 3.66. Radiation dominates at high temperatures.