Engee 文档
Notebook

两个储罐之间的管道

在这个例子中,我们将展示当不可压缩的液体在过大的压力下通过管道时,如何计算管道的流量。

模型描述

这个简单管道系统的模型包含两个储层(一个块 Reservoir),其中第一个相对于第二个具有50,000Pa的超压。 在这两种情况下的基本压力值都是大气压(101,325Pa),但在此不起特殊作用,包括因为不可压缩的液体流过管道。

管(Pipe (IL))的特征在于长度为10米,直径为0.2m(横截面积 pi*(0.1^2) м2).

image.png

在"服务"模块中,模型包含一个用于设置流体参数的模块 Isothermal Liquid Properties (IL) 和块 Solver Configuration -两者都有默认设置。

模型执行

让我们启动这个模型:

In [ ]:
modelName = "reservoirs_pipe"

if modelName  [m.name for m in engee.get_all_models()] engee.load( "$(@__DIR__)/$modelName.engee"); end;

data = engee.run( modelName )
Out[0]:
Dict{String, DataFrame} with 1 entry:
  "Расход" => 101×2 DataFrame

让我们展示模型通过这个管道找到的流体流速。:

In [ ]:
data["Расход"].value[end]
Out[0]:
269.8851941815642

因此,当用0.05mpa的超压泵入水时,长度为10m的0.2m直径管道的吞吐量为269.9kg/s。

与Simulink模型的比较

在Simulink环境中组装的类似模型显示了相同的结果:通过管道的流速为269.9kg/s。

image.png

如果需要,您可以运行附加的模型并仔细检查结果。

In [ ]:
using MATLAB
mat"cd( '$(@__DIR__)' )"
mat"simout = sim('reservoirs_pipe_2023a.slx')"
mat"disp( simout.G.Data(:,:,end) )"
>> >> >>   269.8856

结论

我们创建了一个非常简单的模型,并解决了在一定条件下通过管道计算水流量的问题。 结果与Simulink中创建的模型完全匹配。