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


_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) _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 _STORAGE_T_IN_ = T_SUR _COLD_STORAGE_T_IN_ = T_SUR _STORAGE_T_OUT_ = 273.15 + 60 # 395.0 _COLD_STORAGE_T_OUT_ = 284.15 _STORAGE_P_IN_ = 5e5 _COLD_STORAGE_P_IN_ = 5e5 _Q_DOT_MIN_ = 1e3 # and heat_flow rate (W) _D_T_SUPER_ = 15 # super heating of working fluid _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}')