可压缩气体性质的研究
在本例中,我们将使用活塞模型绘制气体压缩实验的图表。
模型描述
模型的主要元素是活塞块 Translational Mechanical Converter. 活塞杆的负位移意味着它被压缩并导致出口通道中的温度和压力增加。
另外的单位负责控制活塞的状况和测量这个状况。:
*杆的运动是由 Translational Velocity Source
*运动传感器 Absolute Translational Motion Sensor 测量阀杆的位置
*压力和温度传感器 Absolute Pressure & Temperature Sensor (G) 允许您测量活塞出口处气体的属性
*座 Gas Properties (G) 设置模型工作流体的属性。
该模型可以与理想气体一起工作,具有半理想和真实气体模型。
活塞具有极限位置(等于0.0)和初始位置(Initial interface displacement),设置为0.5m。
当达到零位置时,活塞内部的压力将等于其属性中设置的值。 Dead volume (在模型中,它等于1e-5m^3),杆不能进一步移动。
杆控制
在该模型中,杆的运动由恒定速度单元设定。 通过这种控制,杆的运动将是均匀的,平移的,并且不会考虑到来自压缩气体的迎面冲击。 实际上,当气体对压缩的反应与施加在活塞杆上的力相比可以忽略不计时,可能会出现近似情况,并且活塞本身在结构上是坚不可摧的。
在这种情况下,将力源连接到活塞杆导致不可解的方程组。
**如果杆的初始位置为零,活塞的负运动是不可能的。**当求解这样的系统时,积分器将减小步长,直到发生错误。 DtLessThanMin.
将速度的"正值"传输到块 Translational Velocity Source 它导致杆的拉伸和在其出口处的压力和温度的降低。 更改块值 Constant 在积极的一面,以确保它。
启动模型
# Загрузим модель, если она еще не открыта на холсте
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" );
让我们绘制气体的状态。
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 ) )
)
上图显示了杆从其初始位置(而不是相对于零点的位置)的移动。
如果模拟时间增加超过10秒,杆位置将达到零,模拟将停止错误。 为了避免这种情况,有更复杂的模型基于 Translational Mechanical Converter 例如,块 Single-Acting Actuator (G).
结论
这个小模型使我们能够理解气体动态模型中基本"构建块"之一的工作。 这个模块是许多其他更复杂的节点模型的基础,如线性气体驱动器和压缩机。
