Source code for carbatpy.utils.run_heat_pump_simple

# -*- coding: utf-8 -*-
"""
Created on Mon Nov 13 09:47:06 2023

@author: atakan
"""

import carbatpy as cb


[docs]_RESULTS_ = cb._RESULTS_DIR
[docs]FLUID = "Propane * Ethane * Pentane *Isobutane"
#comp = [.75, 0.05, 0.15, 0.05]
[docs]x1 =0.25
[docs]x2 =0.05
[docs]x3 =0.05
[docs]x4 = 1- x1-x2-x3
[docs]comp = [x1,x2, x3, x4] # [0.164,.3330,.50300,0.0]
print(f"{FLUID}, composition:\n{comp}")
[docs]T_SUR =273.15+20
[docs]FLS = "Water" #
[docs]FLCOLD = "Methanol" # "Water" #
[docs]flm = cb.fprop.FluidModel(FLUID)
[docs]myFluid = cb.fprop.Fluid(flm, comp)
[docs]secFlm = cb.fprop.FluidModel(FLS)
[docs]secFluid = cb.fprop.Fluid(secFlm, [1.])
[docs]coldFlm = cb.fprop.FluidModel(FLCOLD)
[docs]coldFluid = cb.fprop.Fluid(coldFlm, [1.])
# Condenser(c) and storage (s), secondary fluids fix all, temperatures(T in K), # pressures (p in Pa)
[docs]_ETA_S_ = 0.57 # interesting when changed from 0.69 to 0.65, the efficiency
# decreases, the reason is the low quality along throtteling then
[docs]_STORAGE_T_IN_ = T_SUR
[docs]_COLD_STORAGE_T_IN_ = T_SUR
[docs]_STORAGE_T_OUT_ = 273.15 + 60 # 395.0
[docs]_COLD_STORAGE_T_OUT_ = 284.15
[docs]_STORAGE_P_IN_ = 5e5
[docs]_COLD_STORAGE_P_IN_ = 5e5
[docs]_Q_DOT_MIN_ = 1e3 # and heat_flow rate (W)
[docs]_D_T_SUPER_ = 15 # super heating of working fluid
[docs]_D_T_MIN_ = 4. # minimum approach temperature (pinch point)
# high T-storages
[docs]state_sec_out = secFluid.set_state([_STORAGE_T_OUT_, _STORAGE_P_IN_], "TP")
[docs]state_sec_in = secFluid.set_state([_STORAGE_T_IN_, _STORAGE_P_IN_], "TP")
# low T sorages:
[docs]state_cold_out = coldFluid.set_state( [_COLD_STORAGE_T_OUT_, _COLD_STORAGE_P_IN_], "TP")
[docs]state_cold_in = coldFluid.set_state( [_COLD_STORAGE_T_IN_, _COLD_STORAGE_P_IN_], "TP")
# working fluid
[docs]T_DEW = _STORAGE_T_OUT_ #+ _D_T_MIN_
[docs]state_in_cond = myFluid.set_state([T_DEW, 1.], "TQ") # find high pressure
[docs]state_out_cond = myFluid.set_state([_STORAGE_T_IN_ + _D_T_MIN_, state_in_cond[1]], "TP")
[docs]state_satv_evap = myFluid.set_state( [_STORAGE_T_IN_-_D_T_MIN_-_D_T_SUPER_, 1.], "TQ") # find minimum pressure
[docs]p_low = state_satv_evap[1]
[docs]T_IN = _STORAGE_T_IN_ - _D_T_MIN_
[docs]state_out_evap = myFluid.set_state([p_low, T_IN], "PT")
[docs]FIXED_POINTS = {"eta_s": _ETA_S_, "p_low": state_out_evap[1], "p_high": state_in_cond[1], "T_hh": _STORAGE_T_OUT_, "h_h_out_sec": state_sec_out[2], "h_h_out_w": state_out_cond[2], "h_l_out_cold": state_cold_out[2], "h_l_out_w": state_out_evap[2], "T_hl": _STORAGE_T_IN_, "T_lh": _STORAGE_T_IN_, "T_ll": _COLD_STORAGE_T_OUT_, # 256.0, "Q_dot_h": _Q_DOT_MIN_, "d_temp_min": _D_T_MIN_}
print( f"p-ratio: {state_in_cond[1]/state_out_evap[1]: .2f}, p_low: {state_out_evap[1]/1e5: .2} bar")
[docs]hp0 = cb.hp_simple.HeatPump([myFluid, secFluid, coldFluid], FIXED_POINTS)
[docs]cop = hp0.calc_heat_pump(FIXED_POINTS["p_high"], verbose=False)
hp0.hp_plot()
[docs]out = hp0.evaluation
print( f"COP: {cop},p-ratio: {out['p_high']/out['p_low']:.2f}, p_low {out['p_low']/1e5:.2f} bar") print( f"COP: {cop},p-ratio: {out['p_high']/out['p_low']}, p_low {out['p_low']/1e5}") print( f'exergy loss rate: {out["exergy_loss_rate"]}, eff: {1-out["exergy_loss_rate"]/out["Power"]:.4f}')