导热液体管道中的压降和质量流量
在这个例子中,我们将研究摩擦和高度差异如何影响管道中的压降,以及考虑液体的动态可压缩性将如何影响通过管道的质量流量。 这些影响在长而窄的管道中尤其重要,因为在这种系统中有必要设置增加的流动压力以补偿损失。
考虑一个直径为0.1米的圆形横截面的10米长的管道。管道中的质量流量是恒定的,相当于0.4千克/秒。水来自水箱,温度为293.15k,在大气压下。 最初没有考虑液体的动态可压缩性的影响。
我们将设置管道的质量流量,长度和直径。
mdot = 0.4; # [кг/с] Массовый расход
pipe_length = 10; # [м] Длина трубы
D = 0.1; # [м] Диаметр трубы
高度差引起的压降
如果其入口和出口之间的高度差为3米,这种管道的模型将如何表现? 让我们忽略摩擦的影响,分析计算压力降,然后使用模型验证结果。
管道中的压降是由于对管壁的摩擦和高度差异造成的压力损失的总和。
哪里 -由于管道高度变化而产生的压降, -由于对管壁的摩擦而产生的压降。 既然我们忽视了摩擦,我们可以假设 等于零并用于定义 使用伯努利方程。
Bergulli方程涉及流体在流体动力学系统中不同点处的流体的速度,压力和高度,我们用它来计算管道模型中a点和B点处的流体属性:
哪里 -压力点A或B, -液体密度, -A或B点的流量, -自由落体加速, -液体在点A或B的高度。
在对不可压缩流体进行建模时,质量被保留并 ,在哪里 -消费点A, -点B的流量。
流速是管道的密度、速度和横截面积的乘积。 如果我们假设液体的密度和管道的横截面积沿其整个长度是恒定的,那么由于流动守恒 和动量守恒可以用平等 因此,可以消除伯努利方程两侧具有此变量的项,并将表达式缩短为:
哪里 -点之间的高度差A和B。
让我们对由于高度差引起的预期压力损失进行分析计算。 您可以通过更改变量来更改模型中的高度差 delta_z:
delta_z = 3; # [м] Перепад высоты
g = 9.81; # [м/с^2] Ускорение свободного падения
rho = 998; # [кг/м^3] Плотность воды при 293.15 К и 101325 Па
deltaP_h = rho*g*delta_z # [Па] Аналитический асчет падения давления из-за перепада высот
现在让我们运行模型 PressureLossAndFlowRateInTLPipe_Insulated,它允许您通过两个罐之间的管道计算恒定流量的流出,由提供0.4kg/s恒定流量的泵泵送。
# engee.close_all()
model = engee.open("$(@__DIR__)/PressureLossAndFlowRateInTLPipe_Insulated.engee")
delta_z = 3;
engee.run(model);
让我们建立一个图表并研究计算结果。:
t = pressure_drop.time;
delta_P = pressure_drop.value;
plot( t, delta_P, ylimits = (2.93e4,2.94e4),
xlabel="Время, с", ylabel="Перепад давления, 10⁴ Па",
yformatter = x->"$(x/10000)", legend=false, lw=2 )
不可能完全去除管块中的摩擦,因此结果包括摩擦损失,但它们显着小于由于高度差引起的损失。 结果显示恒定的压力损失约 Pa,这与分析结果一致(百分之三的误差)。
摩擦引起的压力损失
摩擦损失通常比由于高度差造成的损失少得多。 但是,如果高度差为 如果等于零,摩擦损失将是管道内压力损失的主要原因。
考虑一个黄铜管,其中内壁的表面粗糙度为 M.让我们对管道内摩擦造成的压力损失进行分析计算,然后检查Engee模型是否与结果一致。
摩擦引起的压力损失主要取决于流体的雷诺数。 雷诺数是流体力学中用于预测流动模式的无量纲量。 它表示液体的惯性与其粘度的比率。 在低雷诺数下,液体倾向于具有相当层流(惯性远远超过粘度),并且随着雷诺数的增加,流动变得更加湍流。
雷诺数通常表示如下:
哪里:
-
-流量,
-
-液体的动态粘度,
-
-管道直径。
使用expense表达式 您可以重写表达式:
哪里 -管道的横截面积。
计算管道中水的雷诺数:
S = pi/4 * D^2; # [м^2] Площадь поперечного сечения трубы
mu = 0.00102; # [Па*с] Динамическая вязкость воды при 293 К и 0,101325 МПа
Re = mdot*D/(S*mu) # число Рейнольдса
具有超过4000的雷诺数的流动通常被认为是湍流的,即其中压力和速度的混沌变化起显着作用的流动。 湍流状态下由摩擦引起的压力损失用下式表示:
哪里 -管道长度, -达西的摩擦系数。
达西摩擦系数是描述管道内摩擦阻力的无量纲量。 摩擦阻力是阻止液体相对于管道内表面移动的力。 摩擦减慢了流动,这导致压力下降,这可以用下式表示:
哪里 -内表面的绝对粗糙度的量度。
epsilon = 1.52e-6; # [м] Абсолютная шероховатость внутренней поверхности для коммерческих латунных, свинцовых, медных или пластиковых труб
f = 1 / (-1.8 * log10(6.9/Re + (epsilon/3.7)^1.11))^2; # Коэффициент трения Дарси
deltaP_f = f * pipe_length * mdot * abs(mdot) / (2*rho*D*S^2) # [Па] Потеря давления из-за трения
让我们启动模型 PressureLossAndFlowRateInTLPipe_Insulated模型并检查由于摩擦引起的压力损失量。
model = engee.open("$(@__DIR__)/PressureLossAndFlowRateInTLPipe_Insulated.engee")
delta_z = 0; # [м] Высота трубы
engee.run(model);
让我们绘制结果并研究它们。
t = pressure_drop.time;
delta_P = pressure_drop.value;
plot( t, delta_P, ylimits = (4.85,4.95),
xlabel="Время, с", ylabel="Перепад давления, 10⁴ Па",
legend=false, lw=2 )
该模型显示4.878Pa的恒定压降,对应于4.905Pa的分析结果(误差约为百分之半)。
我们可以评估不同摩擦损失系数的管壁材料对压力损失的影响。:
Material = ["Латунь/Свинец/медь/Пластик", "Сталь или железо (кованое)", "Чугун", "Чугун и ржавчина"];
Roughness = [1.52e-6, 4.6e-5, 2.59e-4, 1.5e-3]; # [м] Абсолютная шероховатость внутренней поверхности
f = 1 ./ (-1.8 .* log10.(6.9/Re .+ (Roughness./3.7).^1.11)).^2; # Коэффициент трения Дарси
Pressure_Loss = f .* pipe_length .* mdot .* abs(mdot) ./ (2*rho*D*S^2); # [Па] Перепад давления из-за трения
using DataFrames
T = DataFrame("Материал" => Material, "Шероховатость" => Roughness, "Перепад давления" => Pressure_Loss)
该表显示了压降如何取决于管道的材料和状况。 差异很小,但在敏感系统中它们会导致相对较大的能量损失。
液体的质量守恒和可压缩性
现在,让我们探讨如何通过考虑动态可压缩性的影响并向模型中添加热源来影响管道中的流速。
如果禁用"动态可压缩性"参数(流体动态可压缩性),管道模型将不考虑管道内液体质量中的动态影响,并且出口流量将始终等于入口流量。:
哪里 -通过横截面的流量A, -通过部分的流量B。
由于到目前为止所考虑的模型是这样设计的,因此管道两端的流量将是相同的。
model = engee.open("$(@__DIR__)/PressureLossAndFlowRateInTLPipe_Insulated.engee")
delta_z = 0; # [м] Высота трубы
engee.run(model);
下面是模型的计算结果,没有考虑到可压缩性。
t = pressure_drop.time;
mdot_a_incompressible = mdot_a.value;
mdot_b_incompressible = mdot_b.value;
plot( t, [mdot_a_incompressible -mdot_b_incompressible],
xlabel="Время, с", ylabel="Массовый расход, (кг/с)", lw=2,
ls=[:solid :dash], label=["mdot_a" "- mdot_b"], ylimits=(-0.5,0.5) )
端口A和B中的质量流量大小相等,符号相反。
如果启用流体的动态可压缩性,则此行为可能会发生变化。 由于可压缩流体的质量在管道的整个长度上不均匀地分布,因此质量平衡方程包括附加项:
哪里:
-
-管道中的液体体积,
-
-密度,
-
-压力,
-
-温度,
-
-等温体积弹性模量,
-
-等压热膨胀系数。
因为管道是完全绝缘的,摩擦造成的压力损失可以忽略不计。, 和 . 两个值都可以忽略。 在这种情况下,由于质量平衡方程的右侧仍然近似为零,因此管道的行为与不可压缩介质的情况相同,并且端口A和端口B之间的质量流量不改变。
让我们打开管道块中液体的动态可压缩性:
engee.set_param!( "PressureLossAndFlowRateInTLPipe_Insulated/Pipe (Advanced) (TL)",
"dynamic_compressibility" => true )
让我们运行模型并绘制图表:
engee.run(model);
t = pressure_drop.time;
mdot_a_compressible = mdot_a.value;
mdot_b_compressible = mdot_b.value;
plot( t, [mdot_a_compressible -mdot_b_compressible],
xlabel="Время, с", ylabel="Массовый расход, (кг/с)", lw=2,
ls=[:solid :dash], label=["mdot_a" "- mdot_b"], ylimits=(-0.5,0.5) )
港口A和B的大规模开支仍然是大小相等,符号相反。
为了观察消耗的显着差异,我们将通过将热源连接到模型来添加传热核算。 然后包含项的方程的分量 它将达到一个明显的大小。 考虑一个模型,其中连接到管道的热源的温度随时间线性变化。
让我们在模型中绘制存在热源的温度。
t = 0:0.1:120
temperature = 200 .+ 1.5t;
plot( t, temperature, xlabel="Время (с)", ylabel="Температура (К)")
在模型中包含传热效应导致这样一个事实,即质量平衡方程的右侧变得相当明显,并且管道出口处的质量流量开始增加。 打开并运行PressureLossAndFlowRateInTLPipe_HeatSource.
model = engee.open("$(@__DIR__)/PressureLossAndFlowRateInTLPipe_HeatSource.engee");
engee.set_param!( "PressureLossAndFlowRateInTLPipe_HeatSource/Pipe (Advanced) (TL)",
"dynamic_compressibility" => true )
engee.run(model);
让我们用结果构建一个图表。
t = pressure_drop.time;
mdot_a_compressible = mdot_a.value;
mdot_b_compressible = mdot_b.value;
plot( t, [mdot_a_compressible -mdot_b_compressible],
xlabel="Время, с", ylabel="Массовый расход, (кг/с)", lw=2,
ls=[:solid :dash], label=["mdot_a" "- mdot_b"], ylimits=(0.39,0.41) )
结论
在模拟开始时,源温度为200K,小于管道中的水温,即293.15K.经过55秒后,热源的温度已超过流入管道的水的温度。 在实验的前半部分,管道内温度变化率为负,即满足以下条件: . 在热源的温度已经超过进入管道的水的温度之后,热量开始传递到管道。 在这种情况下,温度变化率变为正,这导致 .