Class LMTDcorrectionFactor
java.lang.Object
neqsim.process.mechanicaldesign.heatexchanger.LMTDcorrectionFactor
LMTD correction factor (F_t) calculations for multi-pass heat exchangers.
For heat exchangers with multiple tube or shell passes, the true mean temperature difference differs from the log-mean temperature difference (LMTD) of a pure counterflow arrangement. The correction factor F_t accounts for this departure:
Q = U * A * F_t * LMTD_counterflow
The correction depends on the dimensionless parameters R and P:
- R = (T_hot_in - T_hot_out) / (T_cold_out - T_cold_in) = capacity ratio
- P = (T_cold_out - T_cold_in) / (T_hot_in - T_cold_in) = thermal effectiveness
For detailed derivation see: Bowman, Mueller and Nagle (1940), "Mean Temperature Difference in Design", Trans. ASME, Vol. 62, pp. 283-294.
- Version:
- 1.0
- Author:
- NeqSim Development Team
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final doubleMinimum acceptable F_t value below which a shell configuration should not be used. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivatePrivate constructor to prevent instantiation. -
Method Summary
Modifier and TypeMethodDescriptionstatic doublecalcFt(double tHotIn, double tHotOut, double tColdIn, double tColdOut, int shellPasses) Calculates the LMTD correction factor for N shell passes.static doublecalcFt1ShellPass(double tHotIn, double tHotOut, double tColdIn, double tColdOut) Calculates the LMTD correction factor for a 1-shell-pass, even-number-of-tube-passes (1-2N) TEMA E-shell exchanger.static doublecalcFt2ShellPass(double tHotIn, double tHotOut, double tColdIn, double tColdOut) Calculates the LMTD correction factor for a 2-shell-pass, 4-or-more-tube-pass (2-4) TEMA F-shell or two E-shells in series.static doublecalcFtFromRP(double R, double P, int shellPasses) Calculates the LMTD correction factor from dimensionless R and P parameters.(package private) static doublecalcFtSingleShell(double R, double P) Calculates F_t for a single 1-2N shell (one shell pass, even tube passes).static doublecalcP(double tHotIn, double tHotOut, double tColdIn, double tColdOut) Calculates the dimensionless thermal effectiveness P.static doublecalcR(double tHotIn, double tHotOut, double tColdIn, double tColdOut) Calculates the dimensionless capacity ratio R.(package private) static doubleconvertPtoPerShell(double P, double R, int N) Converts overall P to per-shell P1 for multi-shell arrangements.static intrequiredShellPasses(double tHotIn, double tHotOut, double tColdIn, double tColdOut) Calculates the minimum number of shell passes required to achieve F_t above the minimum acceptable value.
-
Field Details
-
MIN_ACCEPTABLE_FT
public static final double MIN_ACCEPTABLE_FTMinimum acceptable F_t value below which a shell configuration should not be used.- See Also:
-
-
Constructor Details
-
LMTDcorrectionFactor
private LMTDcorrectionFactor()Private constructor to prevent instantiation.
-
-
Method Details
-
calcFt1ShellPass
public static double calcFt1ShellPass(double tHotIn, double tHotOut, double tColdIn, double tColdOut) Calculates the LMTD correction factor for a 1-shell-pass, even-number-of-tube-passes (1-2N) TEMA E-shell exchanger.This is the most common configuration (e.g., 1 shell pass, 2 or 4 tube passes).
- Parameters:
tHotIn- hot stream inlet temperature (any consistent unit)tHotOut- hot stream outlet temperaturetColdIn- cold stream inlet temperaturetColdOut- cold stream outlet temperature- Returns:
- F_t correction factor (0 to 1.0), or 1.0 for pure counterflow
-
calcFt2ShellPass
public static double calcFt2ShellPass(double tHotIn, double tHotOut, double tColdIn, double tColdOut) Calculates the LMTD correction factor for a 2-shell-pass, 4-or-more-tube-pass (2-4) TEMA F-shell or two E-shells in series.- Parameters:
tHotIn- hot stream inlet temperature (any consistent unit)tHotOut- hot stream outlet temperaturetColdIn- cold stream inlet temperaturetColdOut- cold stream outlet temperature- Returns:
- F_t correction factor (0 to 1.0)
-
calcFt
public static double calcFt(double tHotIn, double tHotOut, double tColdIn, double tColdOut, int shellPasses) Calculates the LMTD correction factor for N shell passes.Uses the Bowman-Mueller-Nagle method: first compute the per-shell P from the overall P, then apply the single-shell F_t formula.
- Parameters:
tHotIn- hot stream inlet temperature (any consistent unit)tHotOut- hot stream outlet temperaturetColdIn- cold stream inlet temperaturetColdOut- cold stream outlet temperatureshellPasses- number of shell passes (1, 2, 3, ...)- Returns:
- F_t correction factor (0 to 1.0)
-
calcFtFromRP
public static double calcFtFromRP(double R, double P, int shellPasses) Calculates the LMTD correction factor from dimensionless R and P parameters.- Parameters:
R- capacity ratio = (T_h_in - T_h_out) / (T_c_out - T_c_in)P- thermal effectiveness = (T_c_out - T_c_in) / (T_h_in - T_c_in)shellPasses- number of shell passes (1, 2, 3, ...)- Returns:
- F_t correction factor (0 to 1.0)
-
requiredShellPasses
public static int requiredShellPasses(double tHotIn, double tHotOut, double tColdIn, double tColdOut) Calculates the minimum number of shell passes required to achieve F_t above the minimum acceptable value.- Parameters:
tHotIn- hot stream inlet temperaturetHotOut- hot stream outlet temperaturetColdIn- cold stream inlet temperaturetColdOut- cold stream outlet temperature- Returns:
- minimum number of shell passes (1 to 6), or -1 if not achievable
-
calcR
public static double calcR(double tHotIn, double tHotOut, double tColdIn, double tColdOut) Calculates the dimensionless capacity ratio R.- Parameters:
tHotIn- hot stream inlet temperaturetHotOut- hot stream outlet temperaturetColdIn- cold stream inlet temperaturetColdOut- cold stream outlet temperature- Returns:
- R = (T_h_in - T_h_out) / (T_c_out - T_c_in)
-
calcP
public static double calcP(double tHotIn, double tHotOut, double tColdIn, double tColdOut) Calculates the dimensionless thermal effectiveness P.- Parameters:
tHotIn- hot stream inlet temperaturetHotOut- hot stream outlet temperaturetColdIn- cold stream inlet temperaturetColdOut- cold stream outlet temperature- Returns:
- P = (T_c_out - T_c_in) / (T_h_in - T_c_in)
-
calcFtSingleShell
static double calcFtSingleShell(double R, double P) Calculates F_t for a single 1-2N shell (one shell pass, even tube passes).Uses the analytical formula:
- When R != 1: F = [sqrt(R²+1) * ln((1-P)/(1-R*P))] / [(R-1) * ln((2-P*(R+1-W)) / (2-P*(R+1+W)))]
- where W = sqrt(R²+1)
- When R = 1: F = [P*sqrt(2)] / [(1-P)*ln((2-P*(2-sqrt(2)))/(2-P*(2+sqrt(2))))]
- Parameters:
R- capacity ratioP- per-shell thermal effectiveness- Returns:
- F_t correction factor for single shell
-
convertPtoPerShell
static double convertPtoPerShell(double P, double R, int N) Converts overall P to per-shell P1 for multi-shell arrangements.For N shells in series:
- When R != 1: P1 = [(X^(1/N)) - 1] / [(X^(1/N)) - R]
- where X = (1 - R*P) / (1 - P)
- When R = 1: P1 = P / [N - (N-1)*P]
- Parameters:
P- overall thermal effectivenessR- capacity ratioN- number of shell passes- Returns:
- per-shell thermal effectiveness P1
-