EffNTU

class pychemengg.heattransfer.heatexchangers.EffNTU(Cmin=None, Cmax=None, NTU='?', effectiveness='?')[source]

Bases: object

Contains functions to compute ‘effectiveness’ and NTU for heat exchangers.

Parameters
Cminint or float

Minimum heat capacity rate of fluids in heat exchanger. \(C_{min} = \dot{m} c_p\) = smaller of the two heat capacity rates for the two fluids in the heat exchanger.

\(\dot{m}\) = mass flow rate of the fluid

\(c_p\) = specific heat of the fluid

Cmaxint or float

Maximum heat capacity rate of fluids in heat exchanger. \(C_{max} = \dot{m} c_p\) = Larger of the two heat l capacity rates for the two fluids in the heat exchanger

\(\dot{m}\) = mass flow rate of the fluid

\(c_p\) = specific heat of the fluid

Cratioint or float

Cmin/Cmax

effectivenessint or float or str

Efficiency of the heat exchanger. Input ‘int or float’ value if effectiveness values is known, or input “?” if it has to be computed. Default = “?”.

NTUint or float or str

Number of transfer units for the heat exchanger. Input ‘int or float’ value if NTU values is known, or input “?” if it has to be computed. Default = “?”.

Notes

1. At least one of effectiveness or NTU must be entered as ‘int or float’ and the other will get computed.

2. Textbooks contain explicit formulas to compute i) effectiveness and ii) NTU for different exchanger types.

3. In this ‘class’ definition, the following exchanger types can be computed with respect to ‘effectiveness’ or ‘NTU’’

  • Double pipe - parallel flow

  • Double pipe - counter flow

  • Shell and tube

    • one shell pass and 2, 4, 6 etc tube passes

    • n shell passes and 2n, 4n, etc tube passes

  • Single pass counter flow:

    • both fluids unmixed

    • Cmax fluid mixed, and Cmin unmixed

    • Cmin fluid mixed, and Cmax unmixed

  • All exhangers when Cratio = Cmin/Cmax = 0

  1. Logic:

    Explicit formula for computing ‘effectiveness’ for each of the above exchanger types is implemented in a separate method. When that method is called, it internally calls another method (“_get_eff_or_ntu”). This method checks which of “effectiveness” or “NTU” is missing. If “effectiveness” is missing, and “NTU” is provided, the explict equation is used to compute effectiveness from “NTU”. If “NTU” is missing, the same explict equation for effectiveness becomes an implicit equation for “NTU”, and it is solved using ‘fsolve’ of scipy to find “NTU”. A seperate explict equation for calculating “NTU” from “effectiveness” is not implemented. The advantage of this approach is that for the case of “Single pass counter flow with both fluid unmixed”, there is no explict relationship for “NTU” reported in textbooks, but there is one for computing “effectiveness”. So in this manner by using ‘fsolve’, the “NTU”” for the case of “Single pass counter flow with both fluid unmixed” can also be computed.

Examples

First import the module heatexchangers.

>>> from pychemengg.heattransfer import heatexchangers as hx 
>>> hx1 = hx.EffNTU(Cmin=0.639, Cmax=0.836, NTU=0.854)
# This will create an instance of EffNTU and assign it to "hx1".
# Methods of the class 'EffNTU' can then be called.
# In this particular example, NTU is assigned = 0.854.
# By default effectiveness = "?".
# When a heat exchanger type is next called, it will automatically
# compute the effectiveness for that exchanger type
# For example
>>> hx1.shelltube(shellpass_count=1, tubepass_count=8)
0.4621565341983249
# This is the effectiveness.
Attributes
See “Parameters”. All parameters are attributes.
__init__(Cmin=None, Cmax=None, NTU='?', effectiveness='?')[source]

Methods

Cratio_is_zero()

Computes “effectiveness” or “NTU” for any exchanger with Cmin/Cmax = 0

__init__([Cmin, Cmax, NTU, effectiveness])

crossflow_Cmax_unmixed()

Computes “effectiveness” or “NTU” for cross flow heat exchanger with both fluid with Cmax unmixed.

crossflow_Cmin_unmixed()

Computes “effectiveness” or “NTU” for cross flow heat exchanger with both fluid with Cmin unmixed.

crossflow_bothfluids_unmixed()

Computes “effectiveness” or “NTU” for cross flow heat exchanger with both fluid unmixed.

doublepipe_counterflow()

Computes “effectiveness” or “NTU” for double pipe counter flow heat exchanger.

doublepipe_parallelflow()

Computes “effectiveness” or “NTU” for double pipe parallel flow heat exchanger.

shelltube([shellpass_count, tubepass_count])

Computes “effectiveness” or “NTU” for shell and tube heat exchanger.

Cratio_is_zero()[source]

Computes “effectiveness” or “NTU” for any exchanger with Cmin/Cmax = 0

crossflow_Cmax_unmixed()[source]

Computes “effectiveness” or “NTU” for cross flow heat exchanger with both fluid with Cmax unmixed.

crossflow_Cmin_unmixed()[source]

Computes “effectiveness” or “NTU” for cross flow heat exchanger with both fluid with Cmin unmixed.

crossflow_bothfluids_unmixed()[source]

Computes “effectiveness” or “NTU” for cross flow heat exchanger with both fluid unmixed.

doublepipe_counterflow()[source]

Computes “effectiveness” or “NTU” for double pipe counter flow heat exchanger.

doublepipe_parallelflow()[source]

Computes “effectiveness” or “NTU” for double pipe parallel flow heat exchanger.

shelltube(shellpass_count=None, tubepass_count=None)[source]

Computes “effectiveness” or “NTU” for shell and tube heat exchanger.