要自动生成一个压焓图有多难?四行代码就够了。在这个AI时代,难的不是代码,而是让AI生成你想要的。一个简单的压焓图很容易,但一些高级的功能,比如压焓图的叠加,符合ASHRAE风格压焓图等,AI生成的就有点差强人意了。
废话不多说了,看看一步一步生成高级压焓图需要哪些过程。
1、入门-最简单的压焓图
from CoolProp.Plots import PropertyPlot as CPP
pp = CPP(“R32”, "PH", unit_system="KSI")
pp.calc_isolines()
pp.show()
输出图形如下:

这个示例中,四行代码生成了一个R32的压焓图,coolprop中默认压焓图只有等干度线、等温线和等熵线,无等密度线,且等值线的数量、颜色、线型等均为系统默认。
2、进阶-自定义压焓图
#添加等密度线
pp.calc_isolines(CP.iDmass)
#以等温线为例
#设置范围
pp.calc_isolines(CP.iT,iso_range=[-80+273.15,180+273.15], num=15)
#设置颜色
pp.props[CP.iT]['color'] = 'blue'
#设置线宽
pp.props[CP.iT]['lw'] = 0.5
#设置线型
pp.props[CP.iT]['linestyle'] = '-'
pp.show()
输出图形如下:

这个示例中,我们自定义了等温线,从-80℃到180℃生成15条等温线,颜色设置为蓝色,线宽设置为1,线型设置为实线,同时添加了等密度线,添加了图形及坐标轴标题,设置了坐标轴的范围。
3、进阶-添加制冷循环
#添加循环过程
cycle = CPPSCC("R32", "PH", unit_system="KSI")
T0 = -5+273.15
pp.state.update(CP.QT_INPUTS,0.0,T0-0.02)
p0 = pp.state.keyed_output(CP.iP)
T2 = 40+273.15
pp.state.update(CP.QT_INPUTS,1.0,T2+0.02)
p2 = pp.state.keyed_output(CP.iP)
#已知蒸发温度/压力和冷凝温度/压力求解
cycle.simple_solve(T0, p0, T2, p2, 0.7, SI=True)
cycle.steps =50
sc = cycle.get_state_changes()
pp.draw_process(sc,line_opts={'color':'r','lw':1.5})
plt.close(cycle.figure)
pp.show()

这个示例中,压焓图仅保留饱和线,并在压焓图上生成了一个简单的制冷循环过程,添加状态点标注。 这里引用到的是SimpleCompressionCycle模块,它是coolprop内置的一个简单压缩循环模块,除了已知蒸发温度/压力和冷凝温度/压力求解外,还可以通过蒸发温度/过热度和冷凝温度/过冷度求解,不过状态点state限制为4个。
cycle.simple_solve_dt(Te, Tc, 10, 10, 0.7, SI=True)
表示蒸发温度Te和冷凝温度Tc,过冷度和过热度均为10K,绝热压缩系数0.7
输出结果如下:

4、高级-多图模式-压焓图叠加
在这个示例中,我们将R22,R410a,R32,R1234yf和R290共5种制冷剂的压焓图绘制在一张图上。

多图模式将多个制冷剂的压焓图放在一张图中,用于比较不同制冷剂的特性,非常直观。除了添加各制冷剂的饱和线外,还可以填充各自两相区的面积,添加指定温度的等温线,如蒸发温度-5℃时各制冷剂的等温线,过对应饱和汽相点的等熵线等。多图模式与可靠性软件reliasoft等当中的寿命数据多图分析类似,可靠性中是把多条寿命曲线放在一张图上进行比较。
Coolprop图形模块中无此功能,尝试让AI生成无果,其实手写也不过是十几行的内容。
5、高级-定制ASHRAE规格压焓图

前面调用coolprop图形模块生成的压焓图,和标准的ASHRAE版的压焓图还是有不少的差异。在ASHRAE压焓图中,等密度线不穿过两相区,且与最后一条等温线相交,等熵线穿过两相区,且与最后一条等温线相交,最后添加ASHRAE风格的各等值线标签,这些都是AI生成不了的。当你尝试说,"采用coolprop和matplotlib生成符合ASHRAE风格的压焓图,并添加等值线标签"时,抛出的一堆代码并不是你想要的风格,不过用于一键部署还是挺方便的。要实现ASHRAE风格的压焓图,基本上要重写coolprop的绘图模块,关键是交点的计算和等值线标签的位置。
6、Python版压焓图与Excel版压焓图对比
和用代码生成的压焓图比,EXCEL版的压焓图也是不错的选择。在《EXCEL中如何复现ASHRAE手册中的压焓图》一文中,详细介绍了如果调用coolprop或refprop插件生成ASHRAE风格的压焓图。excel版的压焓图无需编程基础,自定义功能更强,结合coolprop或refprop插件能方便绘制各种循环过程。当然,如果熟悉python等高级语言,程序版的压焓图的扩展性更强,结合AI,可以生成各种前端应用。