Calculation of the mass flow rate during the flow of liquid through pipes of various shapes of cross sections
This example demonstrates the use of the Laminate Leakage block of the Isothermal Fluid library.
This block simulates laminar flow through sections of various geometries in an isothermal fluid network.
The example considers sections such as a circle, rectangle, ellipse, and equilateral triangle.
The cross-sectional areas of the pipes are equal to each other.
Model diagram:
Defining the function to load and run the model:
function start_model_engee()
    try
        engee.close("npn_transistor", force=true) # закрытие модели 
        catch err # в случае, если нет модели, которую нужно закрыть и engee.close() не выполняется, то будет выполнена её загрузка после catch
            m = engee.load("$(@__DIR__)/laminar_leakages.engee") # загрузка модели
        end;
    try
        engee.run(m, verbose=true) # запуск модели
        catch err # в случае, если модель не загружена и engee.run() не выполняется, то будут выполнены две нижние строки после catch
            m = engee.load("$(@__DIR__)/laminar_leakages.engee") # загрузка модели
            engee.run(m, verbose=true) # запуск модели
        end
end
Loading, running the model, and recording the results
Running the simulation
try
    start_model_engee() # запуск симуляции с помощью специальной функции, реализованной выше
    catch err
    end;
Extracting mass expense data from the simout variable:
sleep(5)
result = simout;
res = collect(result)
Recording the results of the model in separate variables:
circular_flowrate = collect(res[3])
rectangular_flowrate = collect(res[2])
elliptical_flowrate = collect(res[4])
triangular_flowrate = collect(res[1]);
Visualization of simulation results
using Plots
plot(circular_flowrate[:,1], circular_flowrate[:,2], label="Круглое сечение", lw = 3, title="Массовый расход через сечения", xlabel="Время, с", ylabel="Массовый расход, кг/с", legend=:bottomright)
plot!(rectangular_flowrate[:,1], rectangular_flowrate[:,2], label="Прямоугольное сечение", lw = 3)
plot!(elliptical_flowrate[:,1], elliptical_flowrate[:,2], label="Эллиптическое сечение", lw = 3)
plot!(triangular_flowrate[:,1], triangular_flowrate[:,2], label="Треугольное сечение", lw = 3)
Conclusion:
This example demonstrates the simulation of a hydraulic network with Laminate Leakage blocks, each of which is a pipe with specified geometric cross-sectional parameters. Analyzing the simulation results, one can see the difference in the mass flow rates of these pipes depending on the shape of the cross-section of the same area.