heat_transfer#

General functional algorithms for the design of heat exchangers.

counter_current_heat_exchange(s0_in, s1_in, s0_out, s1_out, dT, T_lim0=None, T_lim1=None, phase0=None, phase1=None, H_lim0=None, H_lim1=None)[source]#

Allow outlet streams to exchange heat until either the given temperature limits or the pinch temperature and return the total heat transfer [Q; in kJ/hr].

heuristic_overall_heat_transfer_coefficient(ci, hi, co, ho)[source]#

Return a heuristic estimate of the overall heat transfer coefficient [U; in kW/m^2/K]. Assume U is 1.0 kW/m^2/K if heat exchange is between a condensing fluid and a vaporizing fluid and 1.0 kW/m^2/K otherwise.

Parameters:
  • ci (Stream) – Cold inlet stream.

  • hi (Stream) – Hot inlet stream.

  • co (Stream) – Cold outlet stream.

  • ho (Stream) – Hot outlet stream.

Returns:

U – overall heat transfer coefficient [kW/m^2/K].

Return type:

float

heuristic_pressure_drop(inlet_phase, outlet_phase)[source]#

Return a heuristic estimate of the pressure drop [dP; in psi]. If the fluid changes phase, dP is 1.5 psi. If the fluid remains a liquid, dP is 5 psi. If the fluid remains a gas, dP is 3 psi.

Parameters:
  • inlet_phase (str)

  • outlet_phase (str)

Returns:

dP – Pressure drop [psi].

Return type:

float

heuristic_tubeside_and_shellside_pressure_drops(ci, hi, co, ho, tubeside_iscooling=True)[source]#

Return an estimate of tubeside and shellside pressure drops.

Parameters:
  • ci (Stream) – Cold inlet stream.

  • hi (Stream) – Hot inlet stream.

  • co (Stream) – Cold outlet stream.

  • ho (Stream) – Hot outlet stream.

  • tubeside_iscooling (bool) – True of tubeside fluid is cooling.

Returns:

  • dP_tube (float) – Tubeside pressure drop (psi)

  • dP_shell (float) – Shellside pressure drop (psi)

order_streams(in_a, in_b, out_a, out_b)[source]#

Return cold and hot inlet and outlet streams.

Parameters:
Returns:

  • ci (Stream) – Cold inlet.

  • hi (Stream) – Hot inlet.

  • co (Stream) – Cold outlet.

  • ho (Stream) – Hot outlet.

compute_Fahkeri_LMTD_correction_factor(Tci, Thi, Tco, Tho, N_shells)[source]#

Return 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].

\[ \begin{align}\begin{aligned}F_t=\frac{S\ln W}{\ln \frac{1+W-S+SW}{1+W+S-SW}}\\S = \frac{\sqrt{R^2+1}}{R-1}\\W = \left(\frac{1-PR}{1-P}\right)^{1/N}\\R = \frac{T_{in}-T_{out}}{t_{out}-t_{in}}\\P = \frac{t_{out}-t_{in}}{T_{in}-t_{in}}\end{aligned}\end{align} \]

If R = 1 and logarithms cannot be evaluated:

\[ \begin{align}\begin{aligned}W' = \frac{N-NP}{N-NP+P}\\F_t = \frac{\sqrt{2}\frac{1-W'}{W'}}{\ln\frac{\frac{W'}{1-W'}+\frac{1} {\sqrt{2}}}{\frac{W'}{1-W'}-\frac{1}{\sqrt{2}}}}\end{aligned}\end{align} \]
Parameters:
  • Tci (float) – Inlet temperature of cold fluid, [K]

  • Thi (float) – Inlet temperature of hot fluid, [K]

  • Tco (float) – Outlet temperature of cold fluid, [K]

  • Tho (float) – Outlet temperature of hot fluid, [K]

  • shells (int, optional) – Number of shell-side passes, [-]

Returns:

Ft – Log-mean temperature difference correction factor, [-]

Return type:

float

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.

Examples

compute_Fahkeri_LMTD_correction_factor(Tci=15, Tco=85, Thi=130, Tho=110, N_shells=1) 0.9438358829645933

References

compute_heat_transfer_area(LMTD, U, Q, ft)[source]#

Return required heat transfer area by LMTD correction factor method.

Parameters:
  • LMTD (float) – Log mean temperature difference

  • U (float) – Heat transfer coefficient

  • Q (float) – Duty

compute_LMTD(Thi, Tho, Tci, Tco, counterflow=True)[source]#

Return the log-mean temperature difference of an ideal counterflow or co-current heat exchanger.

\[ \begin{align}\begin{aligned}\Delta T_{LMTD}=\frac{\Delta T_1-\Delta T_2}{\ln(\Delta T_1/\Delta T_2)}\\\begin{split}\text{For countercurrent: } \\ \Delta T_1=T_{h,i}-T_{c,o}\\ \Delta T_2=T_{h,o}-T_{c,i}\end{split}\\\begin{split}\text{Parallel Flow Only:} \\ {\Delta T_1=T_{h,i}-T_{c,i}}\\ {\Delta T_2=T_{h,o}-T_{c,o}}\end{split}\end{aligned}\end{align} \]
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 – Log-mean temperature difference [K]

Return type:

float

Notes

Any consistent set of units produces a consistent output.

Examples

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