AnyMath 文档
Notebook

压缩机的压力特性

该示例说明了通过压力增加程度、指定的质量流量和效率来设置压缩机的压力特性,并根据这些特性计算加速度动力学的表格方法。

数据准备

在档案中 compressor_map_speed_linescompressor_map_efficiency_data 压缩机压力图的线包含在旋转速度和效率方面的等高点。

In [ ]:
]add JLD2, Interpolations, ScatteredInterpolation
In [ ]:
using JLD2, Interpolations, ScatteredInterpolation

@load "compressor_map_speed_lines.jld2"

# 创建减少质量流量和压力增加程度的矩阵
mdot_TLU = [Line1000[:,1]'; Line1500[:,1]'; Line2000[:,1]'; Line2500[:,1]'; Line3000[:,1]'; Line3500[:,1]']
pr_TLU   = [Line1000[:,2]'; Line1500[:,2]'; Line2000[:,2]'; Line2500[:,2]'; Line3000[:,2]'; Line3500[:,2]']
# 创建降低的速度矢量
omega_TLU = [1000, 1500, 2000, 2500, 3000, 3500]
# Beta从0到1不等。 长度=每行的点数
beta_TLU = range(0, 1, length=7)

@load "compressor_map_efficiency_data.jld2"
# 在特征的中间添加另一个点以避免相交。
Eff80 = [Eff80[1:3,:]; [0.55 1.5]; Eff80[4:end, :]]
# 组织效率数据以用于插值
eff_levels = [(Eff80, 0.80), (Eff82, 0.82), (Eff84, 0.84), (Eff86, 0.86), (Eff88, 0.88), (Eff90, 0.90)]

# 具有压缩机特性的图形的输出
include("create_compressor_map.jl")
p, eta_TLU = create_compressor_map(mdot_TLU, pr_TLU, omega_TLU, eff_levels)
plot!(p)
Out[0]:
No description has been provided for this image

轮廓图显示插值后的效率轮廓与原始数据几乎匹配。 此外,点现在以可在压缩器块中使用的格式呈现。

起初,该特征具有过度简化的轮廓,因此我们对效率等值线进行插值,然后在更薄,均匀的值网格上进行插值,选择合适的核进行平滑。

在插值期间可能会损失精度。 避免这种精度损失的唯一可靠方法是使用更准确的原始数据。 请注意,数据设置在由减小的旋转频率和辅助坐标β确定的辅助坐标系中。

压缩机计算

在本项目中,我们使用基于初始表格数据生成的变量从工作区设置Compressor(D)块的参数。:

  • omega_TLU
  • beta_TLU
  • pr_TLU
  • mdot_TLU
  • eta_TLU

操作温度和压力值等于入口罐温度和大气压力。 因此,减小的质量流率和减小的旋转速度的值与用于理想角速度的源的实际值重合(因为校正因子是一)。

Screenshot From 2026-05-05 00-02-06.png

让我们看看压缩机转速的增加是如何导致恒定容积腔内压力的增加的。

In [ ]:
engee.open("compressor_map_example.engee")
data = engee.run();
In [ ]:
# 温度和压力已经等于操作值,它们不需要指定。
mdot_corrected = data["压缩机(G)。mdot_inlet"].value .* 1000; # 该属性存储在kg/s
PR = data["压缩机(G)。出口。p"].value ./ data["压缩机(G)。入口。p"].value;

# 我们在前一个图表的顶部显示过渡模式线
plot!(mdot_corrected, PR, lw=3, label="上门收件线", lc=:black, ls=:dash)
Out[0]:
No description has been provided for this image

结论

压缩机特性与初始数据匹配良好。 插值过程会导致一些误差,但可以通过改进数据预处理方法或简单地增加它们的数量来最小化。