Исследование свойств сжимаемого газа¶
В этом примере мы используем модель поршня и построим построения графики эксперимента по сжатию газа.
Описание модели¶
Основным элементом модели является блок поршня Translational Mechanical Converter
. Отрицательное перемещение штока поршня означает его сжатие и приводит к увеличению температуры и давления в выходном канале.
Дополнительные блоки отвечают за управление состоянием поршня и измерение этого состояния:
- перемещение штока осуществляется под действием
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 м^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)
.
Заключение¶
Эта небольшая модель позволяет понять работу одного из базовых "строительных кирпичиков" в газодинамических моделях. Этот блок лежит в основе многих других более сложных моделей узлов, например линейных газовых приводов и компрессоров.