Engee documentation
Notebook

Model of the automatic pressure regulation system (APS) in the aircraft cabin

The automatic pressure regulation system (APS) in the aircraft cabin is designed to maintain safe pressure inside the cabin at different stages of flight (takeoff, cruise flight, landing).

Schematic diagram of the model:

pressure_control_system_in_aircraft_1743418578183.png

Physical part of the system

Unit SCV - simulates air supply from the air conditioning system with constant pressure and temperature.

Block Pipeline Resistance (2 blocks) - simulates pressure losses in air lines.

Block Cabin volume - dynamic cabin model, where pressure varies depending on air injection/discharge.

Block Discharge valve - regulates overpressure bleeding into the atmosphere, which is described by block Atmosphere.

Control system

The control system in the model consists of red coloured blocks, these include:

  • cockpit pressure sensor in bars - converts the altitude in metres to the pressure at the same altitude, according to the law: $P = (1 \cdot 10^{-5}) \cdot 101325 \cdot \left(1 - 0.003 \cdot u \cdot 0.3048 / 288.15\right)^{9.80665 / (0.0065 \cdot 287.05287)},$ where $u$ is the altitude.
  • summariser - calculates the mismatch signal between the setpoint** and the measured value,**
  • PID controller,
  • ** lag unit, ** Pa to bar conversion unit.

External conditions

The external conditions are defined by the blue blocks. Assumption: temperature is constant. Pressure is defined by the block Conversion from altitude to pressure at altitude by the law: $P = (1 \cdot 10^{-5}) \cdot 101325 \cdot \left(1 - 0.003 \cdot u \cdot 0.3048 / 288.15\right)^{9.80665 / (0.0065 \cdot 287.05287)},$ where $u$ is altitude.

Flight plan

The blocks representing the flight plan describe how the altitude of the aircraft will change depending on time. They are coloured green in the diagram.

The input of the Flight Plan block is the model time, the output of the block is the altitude value in metres.

Define the function for loading and starting the model:

In [ ]:
function start_model_engee()
    try
        engee.close("pressure_control_system_in_aircraft", force=true) # закрытие модели 
        catch err # в случае, если нет модели, которую нужно закрыть и engee.close() не выполняется, то будет выполнена её загрузка после catch
            m = engee.load("$(@__DIR__)/pressure_control_system_in_aircraft.engee") # загрузка модели
        end;

    try
        engee.run(m, verbose=true) # запуск модели
        catch err # в случае, если модель не загружена и engee.run() не выполняется, то будут выполнены две нижние строки после catch
            m = engee.load("$(@__DIR__)/pressure_control_system_in_aircraft.engee") # загрузка модели
            engee.run(m, verbose=true) # запуск модели
        end
end
Out[0]:
start_model_engee (generic function with 1 method)

Running the simulation

In [ ]:
start_model_engee();
Building...
Progress 0%
Progress 5%
Progress 10%
Progress 15%
Progress 21%
Progress 26%
Progress 32%
Progress 37%
Progress 42%
Progress 47%
Progress 53%
Progress 58%
Progress 63%
Progress 68%
Progress 74%
Progress 79%
Progress 84%
Progress 90%
Progress 95%
Progress 100%
Progress 100%

Write simulation data to variables:

In [ ]:
t = simout["pressure_control_system_in_aircraft/Задатчик давления в кабине в барах"].time[:]
control_pressure = simout["pressure_control_system_in_aircraft/Задатчик давления в кабине в барах"].value[:]
cabin_pressure_bar = simout["pressure_control_system_in_aircraft/Давление в кабине в барах"].value[:]
altitude = simout["pressure_control_system_in_aircraft/Высота в метрах"].value[:]
external_pressure = simout["pressure_control_system_in_aircraft/Давление на высоте, в Па"].value[:]
cabin_pressure_pa = simout["pressure_control_system_in_aircraft/Датчик давления в кабине, Па.1"].value[:];

Data visualisation

In [ ]:
using Plots

The flight plan includes 5 steps:

  1. Parking on the ground (1355 seconds).
  2. Takeoff and climb (500 seconds).
  3. Cruising flight (1200 seconds).
  4. Descent and landing (400 seconds).
  5. Parking after flight (1531 seconds).
In [ ]:
plot(t, altitude, linewidth=2, xlabel="Время, с", ylabel="Высота, м", title="План полёта", legend=false)
Out[0]:

According to the change of the flight altitude, the external pressure changes, as well as the pressure in the cabin according to the control law:

In [ ]:
plot(t, external_pressure, linewidth=2, label="Давление на высоте полёта")
plot!(t, cabin_pressure_pa, linewidth=2, label="Давление в кабине", xlabel="Время, с", ylabel="Давление, Па", legend=:bottomright)
Out[0]:

This pressure difference is maintained for the comfort of passengers in the aircraft. But the cabin pressure is somewhat lower than the pressure under normal conditions, this is determined by the strength requirements of the aircraft structure.

Graph of set and measured cabin pressure:

In [ ]:
plot(t, control_pressure, linewidth=2, label="Заданное давление в кабине")
plot!(t, cabin_pressure_bar, linewidth=2, label="Измеренное давление в кабине", xlabel="Время, с", ylabel="Давление, бар", legend=:bottomright)
Out[0]:

Conclusions:

In this example, a model of the automatic pressure control system in the cabin of an aircraft has been considered. Having analysed the graphs we can conclude that the regulator maintains the pressure at the set level at all stages of flight.