Engee 文档
Notebook

可压缩气体特性研究

在本例中,我们将使用活塞模型并绘制气体压缩实验图。

模型描述

该模型的主要元素是活塞组件Translational Mechanical Converter 。活塞杆的负向运动意味着压缩,导致出口通道的温度和压力升高。

image.png

其他模块负责控制和测量活塞状态:

  • 活塞杆在位移传感器的作用下移动。Translational Velocity Source
  • 位移传感器Absolute Translational Motion Sensor 测量活塞杆的位置
  • 压力和温度传感器Absolute Pressure & Temperature Sensor (G) 测量活塞出口处的气体特性。
  • Gas Properties (G) 设置模型的工作体属性。

该模型可与理想气体、半理想气体和实际气体模型一起工作。

活塞有一个极限位置(等于 0.0)和一个初始位置(Initial interface displacement ),设定为 0.5 米。

到达零位后,活塞内部的压力将等于其属性中设置的值Dead volume (在模型中等于 1e-5 m^3),活塞杆无法继续移动。

活塞杆控制

在该型号中,杆的运动由恒速装置设定。通过这种控制,杆的运动将是均匀的、渐进的,并且不会考虑压缩气体的反作用力。*在现实中,当压缩气体的反作用力与施加在活塞杆上的力相比微不足道,且活塞本身的结构坚不可摧时,可能会出现近似的情况。

在这种情况下,将力源连接到活塞杆会导致方程组无法求解。

** 如果活塞杆的初始位置为零,活塞就不可能做负向运动。** 在求解这样的方程组时,积分器会减小步长,直到出现错误为止DtLessThanMin

Translational Velocity Source 块传递速度的 "正值 "会导致拉杆被拉动,出口处的压力和温度降低。请将程序块Constant 的值改为正值以验证这一点。

启动模型

In [ ]:
# Загрузим модель, если она еще не открыта на холсте
if "gas_actuator_model"  getfield.(engee.get_all_models(), :name)
    engee.load( "$(@__DIR__)/gas_actuator_model.engee");
end

model_data = engee.run( "gas_actuator_model" );

让我们绘制气体状态图。

In [ ]:
gr()
pos = collect( model_data["Положение штока"] )
P_out = collect( model_data["P_out"] )
T_out = collect( model_data["T_out"] )
plot(
    layout=(2,1),
    plot( pos.time, pos.value, title="Перемещение штока", leg=false, c=1),
    plot( plot( P_out.time, P_out.value, title="Давление", leg=false, c=2 ),
          plot( T_out.time, T_out.value, title="Температура", leg=false, c=3 ) )
)
Out[0]:

上图显示的是杆从初始位置(不是相对于零点的位置)开始的位移。

如果将模拟时间延长到 10 秒以上,杆的位置将变为零,模拟将停止并出现错误。为避免出现这种情况,可以使用基于Translational Mechanical Converter 的更复杂模型,例如块Single-Acting Actuator (G)

结论

通过这个小型模型,我们可以了解气体动力学模型中一个基本 "构件 "的运行情况。这个构件是许多其他更复杂组件模型的基础,如线性气体致动器和压缩机。