import matplotlib matplotlib.use('Qt4Agg') import numpy import CoolProp import CoolProp.CoolProp as CP import matplotlib.pyplot as plt from CoolProp.CoolProp import FluidsList print("Testing TTSE for revision " + CoolProp.__gitrevision__) def compareProperty(fluid="", p=0, what=""): global c_diff, c_unit, c_exce if p == 0: p = 0.75 * CP.Props(fluid, "pcrit") Delta_T = 50 T_bub = CP.Props("T", "P", p, "Q", 0, fluid) T_dew = CP.Props("T", "P", p, "Q", 1, fluid) h_bub = CP.Props("H", "P", p, "Q", 0, fluid) h_dew = CP.Props("H", "P", p, "Q", 1, fluid) T_1 = T_bub - Delta_T if T_1 < CP.Props(fluid, "Tmin"): T_1 = CP.Props(fluid, "Tmin") + 0.5 * (T_bub - CP.Props(fluid, "Tmin")) T_2 = T_dew + Delta_T h_1 = CP.Props("H", "P", p, "T", T_1, fluid) h_2 = CP.Props("H", "P", p, "T", T_2, fluid) h_liq = numpy.linspace(h_1, h_bub, num=100) h_vap = numpy.linspace(h_dew, h_2, num=100) T_liq = CP.Props("T", "P", p, "H", h_liq, fluid) - T_bub T_vap = CP.Props("T", "P", p, "H", h_vap, fluid) - T_dew X_liq_STDV = CP.Props(what, "P", p, "H", h_liq, fluid) X_vap_STDV = CP.Props(what, "P", p, "H", h_vap, fluid) CP.enable_TTSE_LUT(fluid) X_liq_TTSE = CP.Props(what, "P", p, "H", h_liq, fluid) X_vap_TTSE = CP.Props(what, "P", p, "H", h_vap, fluid) if numpy.max([X_liq_STDV / X_liq_TTSE, X_vap_STDV / X_vap_TTSE]) > 1.25 or numpy.min([X_liq_STDV / X_liq_TTSE, X_vap_STDV / X_vap_TTSE]) < 0.75: c_diff += 1 print("") print("There were problems with " + what + " for " + fluid) print("Relative difference liquid: " + str(numpy.mean((X_liq_STDV - X_liq_TTSE) / X_liq_STDV))) print("Relative difference vapour: " + str(numpy.mean((X_vap_STDV - X_vap_TTSE) / X_vap_STDV))) print("Average factor liquid: " + str(numpy.mean(X_liq_STDV / X_liq_TTSE))) print("Average factor vapour: " + str(numpy.mean(X_vap_STDV / X_vap_TTSE))) #plt.plot(numpy.append(T_liq,T_vap),numpy.append(X_liq_STDV,X_vap_STDV),label=what+", standard") #plt.plot(numpy.append(T_liq,T_vap),numpy.append(X_liq_TTSE,X_vap_TTSE),label=what+", TTSE") # plt.show(block=True) # plt.savefig("/home/jowr/tmp/viscosity/"+fluid+".png") # plt.clf() #toTest = ["L","V"] toTest = "V" #fluids = ["n-Pentane","R134a"] fluids = FluidsList() c_diff = 0 c_unit = 0 c_exce = 0 for fluid in fluids: try: compareProperty(fluid=fluid, what=toTest) except ValueError: c_exce += 1 print("An exception occurred for " + toTest + " with " + fluid) print("Finished testing TTSE:") print("Errors occurred in " + str(c_exce) + " out of " + str(len(fluids)) + " fluids") print("and differences occurred in " + str(c_diff) + " fluids.")