"========================================================================= Chiller_Simulation_Chapter4_R134a_IHX.ees Vapor-compression cycle model - R-134a Water-cooled and Air-cooled chillers Rewritten to match the revised Chapter 4 (results reported in the thesis document) AND the revised Chapter 3 methodology (equations 3-1 to 3-16, sections 3-2-6 and 3-2-7): - R134a used as the BASELINE refrigerant for Sections 4-2-1 to 4-2-6 (per Section 3-3-1) - Compressor isentropic efficiency split by chiller type (centrifugal, water-cooled vs. screw/scroll, air-cooled) - Condenser approach temperatures re-set so that the air-cooled condensing temperature is PLR-dependent (head-pressure/fan control), consistent with Table (4-3) - Procedure input dT_sh_ihx_F adds a liquid-suction heat exchanger (IHX), implementing equations (3-10) to (3-14) of Section 3-2-6 (Table 4-6, Figure 4-6) - The evaporating/condensing reference temperatures passed to the Procedure are always the DEW point (evaporator) and BUBBLE point (condenser), per the zeotropic-blend convention of equations (3-15)-(3-16) in Section 3-2-7. For pure/azeotropic fluids (R134a, R32, R1234yf) dew = bubble, so this has no effect; for the zeotropic blends R407C and R454B it correctly reproduces the glide-aware model used to generate Table (4-7). - New Section 4-2-7 block at the end of this file: five-refrigerant comparison (R134a, R32, R1234yf, R454B, R407C) at the design point, reproducing Table (4-7) and Figures (4-7)/(4-8) NOTE ON FLUID NAMES: EES's built-in fluid database includes R-134a, R-410A, R-32 and (in recent releases) R-407C and R-454B as ASHRAE-standard blends with built-in glide. Verify the exact fluid identifier strings against your installed EES version's fluid list (Options > Fluid Info) before running -- the strings used below ('R134a','R32','R1234yf','R407C','R454B') follow EES's current naming convention but may differ slightly (e.g. 'R454b') in older releases. ========================================================================= " $UnitSystem SI C kPa kJ mass deg $TabStops 0.3 0.6 0.9 in Refrigerant$ = 'R134a' "---------------------- Fixed model parameters -------------------------" eta_isen_wc = 0.80 "compressor isentropic efficiency, water-cooled (centrifugal)" eta_isen_ac = 0.72 "compressor isentropic efficiency, air-cooled (screw/scroll)" DT_evap = 5 [C] "evaporator approach: TCHWS to saturated evaporator temperature" SH = 5 [C] "compressor suction superheat" SC = 5 [C] "condenser exit subcooling" dT_sh_ihx_F = 3 [F] "additional compressor-suction superheat supplied by the IHX (Section 4-2-6/3-2-6, eq. 3-11)" DT_cond_wc = 5 [C] "condenser approach, water-cooled (cooling-tower water to sat. cond. temp.), PLR-independent" DT_cond_ac = 15 [C] "condenser approach, air-cooled, full load (PLR = 100%)" Q_design_wc = 880 [kW] "nominal full-load cooling capacity, water-cooled chiller" Q_design_ac = 778 [kW] "nominal full-load cooling capacity, air-cooled chiller" "========================================================================= Procedure: ChillerCycle Single-stage vapor-compression cycle (equations 3-1 to 3-9), with an optional liquid-suction heat exchanger (IHX, equations 3-10 to 3-14 of Section 3-2-6). State-point labels below use the numeric notation of Chapter 3's original equations (1,2,3,4); the equivalent letter labels used in Figure (3-2) / Section 3-2-6 are shown in brackets: 1 [e] - evaporator exit / compressor suction before IHX (T_evap,dew + SH) 1' [f] - compressor suction after IHX (only if dT_sh_ihx_F > 0) -- specified directly via eq.(3-11) 2 [a] - compressor exit (isentropic from 1' + efficiency) -- eq.(3-13) 3 [b] - condenser exit (T_cond,bubble - SC, subcooled liquid) 3' [c] - condenser/IHX exit, DERIVED from the energy balance -- eq.(3-10),(3-12) 4 [d] - expansion valve exit (isenthalpic, h4 = h3 or h3') IHX design convention (per the corrected Section 3-2-6): the ADDITIONAL SUCTION SUPERHEAT dT_sh_ihx_F (in deg F -- a standard suction-line heat-exchanger sizing target, typically 3 F) is the SPECIFIED design input; the corresponding liquid subcooling dT_sc_ihx_C is DERIVED from the IHX energy balance -- eq.(3-10): hb - hc = hf - he. Because EES Procedures execute sequentially (no simultaneous/implicit solving inside a Procedure, unlike the main equation window), dT_sc_ihx_C is obtained by a first-order Taylor linearization using the local liquid specific heat at the condenser bubble point: dT_sc_ihx_C = (h1p - h1) / Cp_liquid(T3,P_cond). This is accurate to a fraction of a percent for the small subcooling values involved here (see Section 4-2-6/4-2-8: dT_sc_ihx is typically about 1 C for a 3 F suction superheat rise); h3p is then re-evaluated from the true property function at T3p, so the linearization error does not propagate into q_evap or COP. T_evap_dew_C and T_cond_bub_C below are always the dew point (evaporator) and bubble point (condenser) per the zeotropic-blend convention of equations (3-15)-(3-16); for pure fluids dew = bubble so no special handling is needed by the caller. ========================================================================= " Procedure ChillerCycle(TCHWS, Tamb, PLR, Q_design, DT_evap, DT_cond, eta_isen, SH, SC, dT_sh_ihx_F, Refrigerant$ : COP, Ecc, Etotal, q_evap, w_comp) T_evap = TCHWS - DT_evap T_cond = Tamb + DT_cond P_evap = Pressure(Refrigerant$; T=T_evap; x=1) T1 = T_evap + SH h1 = Enthalpy(Refrigerant$; T=T1; P=P_evap) P_cond = Pressure(Refrigerant$; T=T_cond; x=0) T3 = T_cond - SC h3 = Enthalpy(Refrigerant$; T=T3; P=P_cond) If (dT_sh_ihx_F > 0) Then dT_sh_ihx_C = dT_sh_ihx_F * 5/9 "eq.(3-11): deg F -> deg C, magnitude only" T1p = T1 + dT_sh_ihx_C h1p = Enthalpy(Refrigerant$; T=T1p; P=P_evap) dh = h1p - h1 "heat gained by the suction vapor = heat lost by the liquid" Cp_liq = Cp(Refrigerant$; T=T3; P=P_cond) "liquid specific heat at the condenser bubble point" dT_sc_ihx_C = dh / Cp_liq "linearized inverse of eq.(3-10) -- see header note" T3p = T3 - dT_sc_ihx_C h3p = Enthalpy(Refrigerant$; T=T3p; P=P_cond) "re-evaluated exactly at the derived T3p" s1p = Entropy(Refrigerant$; h=h1p; P=P_evap) Else h3p = h3 h1p = h1 s1p = Entropy(Refrigerant$; T=T1; P=P_evap) EndIf h2s = Enthalpy(Refrigerant$; P=P_cond; s=s1p) h2 = h1p + (h2s - h1p)/eta_isen h4 = h3p "isenthalpic throttling" q_evap = h1 - h4 "refrigeration effect, kJ/kg (evaporator absorbs from state 4 to state 1)" w_comp = h2 - h1p "compressor specific work, kJ/kg" COP = q_evap / w_comp m_dot = (Q_design*PLR/100) / q_evap "kg/s" Ecc = m_dot * w_comp "compressor power, kW" Etotal = Ecc*1.15 "total electrical power incl. pumps/fans, kW" End "========================================================================= Table (4-1): Effect of TCHWS on COP and Ecc PLR = 100%, Tamb = 35 C, TCHWS = 5..12 C, no IHX ========================================================================= " N1 = 8 Duplicate i = 1, N1 TCHWS_1[i] = 4 + i "5,6,...,12 C" Call ChillerCycle(TCHWS_1[i], 35, 100, Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, 0, Refrigerant$ : COP_wc_1[i], Ecc_wc_1[i], Etotal_wc_1[i], q_evap_wc_1[i], w_comp_wc_1[i]) Call ChillerCycle(TCHWS_1[i], 35, 100, Q_design_ac, DT_evap, DT_cond_ac, eta_isen_ac, SH, SC, 0, Refrigerant$ : COP_ac_1[i], Ecc_ac_1[i], Etotal_ac_1[i], q_evap_ac_1[i], w_comp_ac_1[i]) End "========================================================================= Table (4-2): Effect of ambient temperature on COP TCHWS = 7 C, PLR = 100%, Tamb = 25,30,35,40 C ========================================================================= " N2 = 4 Tamb_2[1] = 25 [C] Tamb_2[2] = 30 [C] Tamb_2[3] = 35 [C] Tamb_2[4] = 40 [C] Duplicate j = 1, N2 Call ChillerCycle(7, Tamb_2[j], 100, Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, 0, Refrigerant$ : COP_wc_2[j], Ecc_wc_2[j], Etotal_wc_2[j], q_evap_wc_2[j], w_comp_wc_2[j]) Call ChillerCycle(7, Tamb_2[j], 100, Q_design_ac, DT_evap, DT_cond_ac, eta_isen_ac, SH, SC, 0, Refrigerant$ : COP_ac_2[j], Ecc_ac_2[j], Etotal_ac_2[j], q_evap_ac_2[j], w_comp_ac_2[j]) End "========================================================================= Table (4-3): Effect of part-load ratio (PLR) on COP and Etotal TCHWS = 7 C, Tamb = 35 C, PLR = 25,50,75,100 % Water-cooled condensing temperature is PLR-independent (cooling-tower supply temperature is controlled to a fixed setpoint). Air-cooled condensing temperature falls at part load due to head-pressure / condenser-fan control: DT_cond_ac_eff(PLR) = DT_cond_ac * (0.5 + 0.5*PLR/100) ========================================================================= " N3 = 4 PLR_3[1] = 25 PLR_3[2] = 50 PLR_3[3] = 75 PLR_3[4] = 100 Duplicate k = 1, N3 DT_cond_ac_eff_3[k] = DT_cond_ac*(0.5 + 0.5*PLR_3[k]/100) Call ChillerCycle(7, 35, PLR_3[k], Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, 0, Refrigerant$ : COP_wc_3[k], Ecc_wc_3[k], Etotal_wc_3[k], q_evap_wc_3[k], w_comp_wc_3[k]) Call ChillerCycle(7, 35, PLR_3[k], Q_design_ac, DT_evap, DT_cond_ac_eff_3[k], eta_isen_ac, SH, SC, 0, Refrigerant$ : COP_ac_3[k], Ecc_ac_3[k], Etotal_ac_3[k], q_evap_ac_3[k], w_comp_ac_3[k]) End "========================================================================= Table (4-4): Validation against reference data of Yang et al. [34] Air-cooled chiller, TCHWS = 7..12 C NOTE (see Section 4-2-4 caveat in the revised chapter): COP_ref_4[] below are the digitized literature values reported for the base model's original refrigerant, not for R134a specifically. The MAPE computed here is therefore informative of the computational method only; it is not a refrigerant-matched validation of the R134a case. ========================================================================= " N4 = 6 Duplicate m = 1, N4 TCHWS_4[m] = 6 + m "7,8,...,12 C" Call ChillerCycle(TCHWS_4[m], 35, 100, Q_design_ac, DT_evap, DT_cond_ac, eta_isen_ac, SH, SC, 0, Refrigerant$ : COP_sim_4[m], Ecc_ac_4[m], Etotal_ac_4[m], q_evap_ac_4[m], w_comp_ac_4[m]) End COP_ref_4[1] = 2.592 COP_ref_4[2] = 2.669 COP_ref_4[3] = 2.747 COP_ref_4[4] = 2.825 COP_ref_4[5] = 2.902 COP_ref_4[6] = 2.980 Duplicate m = 1, N4 Error_4[m] = ABS(COP_sim_4[m] - COP_ref_4[m]) / COP_ref_4[m] * 100 "relative error, % (eq. 3-8 form)" End MAPE = SUM(Error_4[m], m=1, N4) / N4 "mean absolute percentage error, eq. (3-8) -- see caveat above" "========================================================================= Section 4-2-5: Parametric sensitivity analysis, equation (3-9) S(xi) = ( dCOP / COP0 ) / ( dxi / xi0 ) evaluated at the mid-range operating point: TCHWS0 = 8.5 C , Tamb0 = 32.5 C , PLR0 = 62.5 % using a +1% forward perturbation of each parameter in turn. (Single-row Tamb and PLR sensitivities use the water-cooled chiller, per the discussion in Section 4-2-5 of the revised chapter.) ========================================================================= " TCHWS0 = 8.5 [C] Tamb0 = 32.5 [C] PLR0 = 62.5 [%] pert = 0.01 "1% perturbation" "--- baseline COP at the mid-range point ---" Call ChillerCycle(TCHWS0, Tamb0, PLR0, Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, 0, Refrigerant$ : COP_wc_0, Ecc_wc_0, Etotal_wc_0, q_evap_wc_0, w_comp_wc_0) Call ChillerCycle(TCHWS0, Tamb0, PLR0, Q_design_ac, DT_evap, DT_cond_ac, eta_isen_ac, SH, SC, 0, Refrigerant$ : COP_ac_0, Ecc_ac_0, Etotal_ac_0, q_evap_ac_0, w_comp_ac_0) "--- perturb TCHWS, water-cooled chiller ---" Call ChillerCycle(TCHWS0*(1+pert), Tamb0, PLR0, Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, 0, Refrigerant$ : COP_wc_pT, Ecc_wc_pT, Etotal_wc_pT, q_evap_wc_pT, w_comp_wc_pT) S_TCHWS_wc = ((COP_wc_pT - COP_wc_0)/COP_wc_0) / pert "--- perturb TCHWS, air-cooled chiller ---" Call ChillerCycle(TCHWS0*(1+pert), Tamb0, PLR0, Q_design_ac, DT_evap, DT_cond_ac, eta_isen_ac, SH, SC, 0, Refrigerant$ : COP_ac_pT, Ecc_ac_pT, Etotal_ac_pT, q_evap_ac_pT, w_comp_ac_pT) S_TCHWS_ac = ((COP_ac_pT - COP_ac_0)/COP_ac_0) / pert "--- perturb Tamb (water-cooled chiller) ---" Call ChillerCycle(TCHWS0, Tamb0*(1+pert), PLR0, Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, 0, Refrigerant$ : COP_wc_pTamb, Ecc_wc_pTamb, Etotal_wc_pTamb, q_evap_wc_pTamb, w_comp_wc_pTamb) S_Tamb = ((COP_wc_pTamb - COP_wc_0)/COP_wc_0) / pert "--- perturb PLR (water-cooled chiller; COP is capacity-independent in this model) ---" Call ChillerCycle(TCHWS0, Tamb0, PLR0*(1+pert), Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, 0, Refrigerant$ : COP_wc_pPLR, Ecc_wc_pPLR, Etotal_wc_pPLR, q_evap_wc_pPLR, w_comp_wc_pPLR) S_PLR = ((COP_wc_pPLR - COP_wc_0)/COP_wc_0) / pert "========================================================================= Section 4-2-6 / Table (4-6) / Figure (4-6): Effect of adding a liquid-suction heat exchanger (IHX) Design point: TCHWS = 7 C, Tamb = 35 C, PLR = 100% Additional suction superheat specified by the IHX design: dT_sh_ihx_F = 3 F (~1.67 C); corresponding subcooling is DERIVED (typically ~1 C, see Table 4-8) ========================================================================= " "--- design-point comparison, water-cooled ---" Call ChillerCycle(7, 35, 100, Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, 0, Refrigerant$ : COP_wc_base, Ecc_wc_base, Etotal_wc_base, q_evap_wc_base, w_comp_wc_base) Call ChillerCycle(7, 35, 100, Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, dT_sh_ihx_F, Refrigerant$ : COP_wc_ihx, Ecc_wc_ihx, Etotal_wc_ihx, q_evap_wc_ihx, w_comp_wc_ihx) Improve_wc = (COP_wc_ihx - COP_wc_base)/COP_wc_base*100 "--- design-point comparison, air-cooled ---" Call ChillerCycle(7, 35, 100, Q_design_ac, DT_evap, DT_cond_ac, eta_isen_ac, SH, SC, 0, Refrigerant$ : COP_ac_base, Ecc_ac_base, Etotal_ac_base, q_evap_ac_base, w_comp_ac_base) Call ChillerCycle(7, 35, 100, Q_design_ac, DT_evap, DT_cond_ac, eta_isen_ac, SH, SC, dT_sh_ihx_F, Refrigerant$ : COP_ac_ihx, Ecc_ac_ihx, Etotal_ac_ihx, q_evap_ac_ihx, w_comp_ac_ihx) Improve_ac = (COP_ac_ihx - COP_ac_base)/COP_ac_base*100 "--- TCHWS sweep (5..12 C), baseline vs. +IHX, for Figure (4-6) ---" N6 = 8 Duplicate n = 1, N6 TCHWS_6[n] = 4 + n Call ChillerCycle(TCHWS_6[n], 35, 100, Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, 0, Refrigerant$ : COP_wc_6_base[n], Ecc_wc_6_base[n], Etotal_wc_6_base[n], q_evap_wc_6_base[n], w_comp_wc_6_base[n]) Call ChillerCycle(TCHWS_6[n], 35, 100, Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, dT_sh_ihx_F, Refrigerant$ : COP_wc_6_ihx[n], Ecc_wc_6_ihx[n], Etotal_wc_6_ihx[n], q_evap_wc_6_ihx[n], w_comp_wc_6_ihx[n]) Call ChillerCycle(TCHWS_6[n], 35, 100, Q_design_ac, DT_evap, DT_cond_ac, eta_isen_ac, SH, SC, 0, Refrigerant$ : COP_ac_6_base[n], Ecc_ac_6_base[n], Etotal_ac_6_base[n], q_evap_ac_6_base[n], w_comp_ac_6_base[n]) Call ChillerCycle(TCHWS_6[n], 35, 100, Q_design_ac, DT_evap, DT_cond_ac, eta_isen_ac, SH, SC, dT_sh_ihx_F, Refrigerant$ : COP_ac_6_ihx[n], Ecc_ac_6_ihx[n], Etotal_ac_6_ihx[n], q_evap_ac_6_ihx[n], w_comp_ac_6_ihx[n]) End "========================================================================= Section 4-2-7 / Table (4-7) / Figures (4-7)-(4-8): Comparison of five refrigerants at the design point (TCHWS = 7 C, Tamb = 35 C, PLR = 100%): R134a (baseline, per Section 3-3-1), R32, R1234yf (pure/azeotropic, zero glide), R454B, R407C (zeotropic blends, non-zero glide -- handled automatically by the dew/bubble-point convention of equations 3-15/3-16, since ChillerCycle always evaluates P_evap at x=1 and P_cond at x=0 for whichever Refrigerant$ is passed in). NOTE: mass flow rate (and therefore Ecc) is recomputed for each refrigerant from its own q_evap at the fixed cooling load Q_design; this is the same fixed-capacity comparison basis used to generate Table (4-1) through Table (4-6). ========================================================================= " "--- R134a (baseline) ---" Call ChillerCycle(7, 35, 100, Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, 0, 'R134a' : COP_wc_R134a, Ecc_wc_R134a, Etotal_wc_R134a, q_evap_wc_R134a, w_comp_wc_R134a) Call ChillerCycle(7, 35, 100, Q_design_ac, DT_evap, DT_cond_ac, eta_isen_ac, SH, SC, 0, 'R134a' : COP_ac_R134a, Ecc_ac_R134a, Etotal_ac_R134a, q_evap_ac_R134a, w_comp_ac_R134a) "--- R32 (pure, zero glide) ---" Call ChillerCycle(7, 35, 100, Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, 0, 'R32' : COP_wc_R32, Ecc_wc_R32, Etotal_wc_R32, q_evap_wc_R32, w_comp_wc_R32) Call ChillerCycle(7, 35, 100, Q_design_ac, DT_evap, DT_cond_ac, eta_isen_ac, SH, SC, 0, 'R32' : COP_ac_R32, Ecc_ac_R32, Etotal_ac_R32, q_evap_ac_R32, w_comp_ac_R32) "--- R1234yf (pure, zero glide) ---" Call ChillerCycle(7, 35, 100, Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, 0, 'R1234yf' : COP_wc_R1234yf, Ecc_wc_R1234yf, Etotal_wc_R1234yf, q_evap_wc_R1234yf, w_comp_wc_R1234yf) Call ChillerCycle(7, 35, 100, Q_design_ac, DT_evap, DT_cond_ac, eta_isen_ac, SH, SC, 0, 'R1234yf' : COP_ac_R1234yf, Ecc_ac_R1234yf, Etotal_ac_R1234yf, q_evap_ac_R1234yf, w_comp_ac_R1234yf) "--- R454B (zeotropic blend; verify exact fluid string against your EES fluid library) ---" Call ChillerCycle(7, 35, 100, Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, 0, 'R454B' : COP_wc_R454B, Ecc_wc_R454B, Etotal_wc_R454B, q_evap_wc_R454B, w_comp_wc_R454B) Call ChillerCycle(7, 35, 100, Q_design_ac, DT_evap, DT_cond_ac, eta_isen_ac, SH, SC, 0, 'R454B' : COP_ac_R454B, Ecc_ac_R454B, Etotal_ac_R454B, q_evap_ac_R454B, w_comp_ac_R454B) "--- R407C (zeotropic blend) ---" Call ChillerCycle(7, 35, 100, Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, 0, 'R407C' : COP_wc_R407C, Ecc_wc_R407C, Etotal_wc_R407C, q_evap_wc_R407C, w_comp_wc_R407C) Call ChillerCycle(7, 35, 100, Q_design_ac, DT_evap, DT_cond_ac, eta_isen_ac, SH, SC, 0, 'R407C' : COP_ac_R407C, Ecc_ac_R407C, Etotal_ac_R407C, q_evap_ac_R407C, w_comp_ac_R407C) "--- TCHWS sweep (5..12 C) for all five refrigerants, for Figures (4-7)/(4-8) ---" RefNames$[1] = 'R134a' RefNames$[2] = 'R32' RefNames$[3] = 'R1234yf' RefNames$[4] = 'R454B' RefNames$[5] = 'R407C' N7 = 8 Duplicate n = 1, N7 TCHWS_7[n] = 4 + n Duplicate k = 1, 5 Call ChillerCycle(TCHWS_7[n], 35, 100, Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, 0, RefNames$[k] : COP_wc_7[n,k], Ecc_wc_7[n,k], Etotal_wc_7[n,k], q_evap_wc_7[n,k], w_comp_wc_7[n,k]) Call ChillerCycle(TCHWS_7[n], 35, 100, Q_design_ac, DT_evap, DT_cond_ac, eta_isen_ac, SH, SC, 0, RefNames$[k] : COP_ac_7[n,k], Ecc_ac_7[n,k], Etotal_ac_7[n,k], q_evap_ac_7[n,k], w_comp_ac_7[n,k]) End End "COP_wc_7[n,k] and COP_ac_7[n,k] reproduce Figures (4-7) and (4-8): plot each column k (fixed refrigerant) against TCHWS_7[] as a separate series (5 series total per figure)." "========================================================================= Section 4-2-8 / Table (4-8) / Figures (4-9)-(4-14): Effect of adding the IHX (dT_sh_ihx_F = 3 F, per the corrected design convention of eq. 3-11/3-12) for each of the five refrigerants, individually swept over TCHWS = 5..12 C at Tamb = 35 C, PLR = 100%. IMPORTANT PHYSICAL NOTE: do NOT expect COP to increase for every refrigerant. Because both the refrigeration effect (q_evap) and the compressor work (w_comp) increase together when the IHX is added (eq. 3-10 is an energy balance, not a free benefit), the SIGN of the net COP change is refrigerant-dependent. For this thesis' conditions, R134a and R1234yf show a small net INCREASE in COP; R407C and R454B are approximately neutral; R32 shows a small net DECREASE in COP in both chiller types. This is a genuine, well-documented result (not a simulation error) -- see the discussion in Section 4-2-8 of the thesis document for the thermodynamic explanation (refrigerant- dependent slope of the isentropic compression line). ========================================================================= " Duplicate n = 1, N7 Duplicate k = 1, 5 Call ChillerCycle(TCHWS_7[n], 35, 100, Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, 3, RefNames$[k] : COP_wc_8_ihx[n,k], Ecc_wc_8_ihx[n,k], Etotal_wc_8_ihx[n,k], q_evap_wc_8_ihx[n,k], w_comp_wc_8_ihx[n,k]) Call ChillerCycle(TCHWS_7[n], 35, 100, Q_design_ac, DT_evap, DT_cond_ac, eta_isen_ac, SH, SC, 3, RefNames$[k] : COP_ac_8_ihx[n,k], Ecc_ac_8_ihx[n,k], Etotal_ac_8_ihx[n,k], q_evap_ac_8_ihx[n,k], w_comp_ac_8_ihx[n,k]) End End "COP_wc_7[n,k]/COP_ac_7[n,k] (baseline, no IHX, from Section 4-2-7) and COP_wc_8_ihx[n,k]/COP_ac_8_ihx[n,k] (with IHX, this section) together reproduce Figures (4-9) through (4-13): for each refrigerant k, plot both series against TCHWS_7[n] on the same chart (baseline dashed, +IHX solid), exactly as done for R134a alone in Figure (4-6)." "--- Design-point summary table (4-8): %COP change and derived subcooling at TCHWS=7, Tamb=35, PLR=100 for all five refrigerants ---" Duplicate k = 1, 5 Call ChillerCycle(7, 35, 100, Q_design_wc, DT_evap, DT_cond_wc, eta_isen_wc, SH, SC, 3, RefNames$[k] : COP_wc_design_ihx[k], Ecc_wc_design_ihx[k], Etotal_wc_design_ihx[k], q_evap_wc_design_ihx[k], w_comp_wc_design_ihx[k]) Call ChillerCycle(7, 35, 100, Q_design_ac, DT_evap, DT_cond_ac, eta_isen_ac, SH, SC, 3, RefNames$[k] : COP_ac_design_ihx[k], Ecc_ac_design_ihx[k], Etotal_ac_design_ihx[k], q_evap_ac_design_ihx[k], w_comp_ac_design_ihx[k]) End "Design-point baseline COPs (dT_sh_ihx_F=0) were already computed per- refrigerant in Section 4-2-7 as COP_wc_R134a, COP_wc_R32, etc. Percentage change for Table (4-8), e.g. for R32: dCOP_wc_R32_pct = (COP_wc_design_ihx[2] - COP_wc_R32) / COP_wc_R32 * 100 Repeat for each refrigerant (index k matches RefNames$[k] order: 1=R134a, 2=R32, 3=R1234yf, 4=R454B, 5=R407C) and for the air-cooled chiller using COP_ac_design_ihx[k] and the corresponding COP_ac_R*** baseline variable."