平板辐射换热器温度场物理模型
在本例中,我们将考虑模拟一个平面辐射热交换器,类似于示例**/user/start/examples/math_and_optimization/heat_exchanger/heat_exchanger中所示。ngscript**,使用热物理库的块。
分元件的热交换器的设计方案:
在Engee中实现该计算方案时,使用了物理建模热库的元素。
模型中使用的关键块是:
*温度源 对热交换器的极端(1和20)段的温度实施边界条件的块
*可控热流量源 表征来自太阳的热流的热源
*热质量在这个模型被用作热交换器的一个元素,按照设计方案,以及 作为外部空间的一个元素,热量从热交换器辐射到外部空间
*辐射传热 表征通过从热交换器元件辐射到外层空间的热量传递。
*热阻 元件之间的热阻
工程师模型:
边界条件
在热交换器的第一段和最后一段上,温度恒定且等于293.15k。:
,
.
初始条件:
初始时刻换热器各点的温度为293.15k。:
.
确定热交换器元件和环境的参数:
In [ ]:
init_T = 293.15 # начальная температура каждого участка теплообменника
res = 0.167 # тепловое сопротивление между участками теплообменника
mass = 0.003375 # масса элемента теплообменника
c = 903.7 # теплоёмкость материала (алюминий)
F = 0.00025 # площадь поверхности элемента для расчёта теплового излучения
cosm_tepl = 10000000.0 # теплоёмкость космического пространства (условно бесконечная)
sigma = 5.6e-8; # постоянная Стефана-Больцмана
soln_teplo = 0.0400047; # тепловой поток от Солнца, поглащаемый участком теплообменника
定义加载和运行模型的函数:
In [ ]:
function start_model_engee()
try
engee.close("heat_exchanger_physmod", force=true) # закрытие модели
catch err # в случае, если нет модели, которую нужно закрыть и engee.close() не выполняется, то будет выполнена её загрузка после catch
m = engee.load("/user/start/examples/physmod/heat_exchanger_physmod/heat_exchanger_physmod.engee") # загрузка модели
end;
try
engee.run(m) # запуск модели
catch err # в случае, если модель не загружена и engee.run() не выполняется, то будут выполнены две нижние строки после catch
m = engee.load("/user/start/examples/physmod/heat_exchanger_physmod/heat_exchanger_physmod.engee") # загрузка модели
engee.run(m) # запуск модели
end
end
Out[0]:
运行模拟
In [ ]:
try
start_model_engee() # запуск симуляции с помощью специальной функции, реализованной выше
catch err
end;
从simout变量中提取站点温度数据并将其写入变量:
In [ ]:
sleep(5)
T1 = simout["heat_exchanger_physmod/Левый край.T"].value[:] # вывод данных о температуре первого участка
T2 = simout["heat_exchanger_physmod/2.T"].value[:] # вывод данных о температуре второго участка
T3 = simout["heat_exchanger_physmod/3.T"].value[:]
T4 = simout["heat_exchanger_physmod/4.T"].value[:]
T5 = simout["heat_exchanger_physmod/5.T"].value[:]
T6 = simout["heat_exchanger_physmod/6.T"].value[:]
T7 = simout["heat_exchanger_physmod/7.T"].value[:]
T8 = simout["heat_exchanger_physmod/8.T"].value[:]
T9 = simout["heat_exchanger_physmod/9.T"].value[:]
T10 = simout["heat_exchanger_physmod/10.T"].value[:]
Out[0]:
模拟结果的可视化
绘制段1到10的时间决定(从热交换器的左边缘到中间):
In [ ]:
plot()
plot(collect(0:0.01:100.0), T1, label="1 отрезок")
plot!(collect(0:0.01:100.0), T2, label="2 отрезок")
plot!(collect(0:0.01:100.0), T3, label="3 отрезок")
plot!(collect(0:0.01:100.0), T4, label="4 отрезок")
plot!(collect(0:0.01:100.0), T5, label="5 отрезок")
plot!(collect(0:0.01:100.0), T6, label="6 отрезок")
plot!(collect(0:0.01:100.0), T7, label="7 отрезок")
plot!(collect(0:0.01:100.0), T8, label="8 отрезок")
plot!(collect(0:0.01:100.0), T9, label="9 отрезок")
plot!(collect(0:0.01:100.0), T10, label="10 отрезок")
Out[0]:
结论:
在这个例子中,演示了一个由热库块创建的平板换热器的模拟。 仿真结果在数值上接近于通过数值求解热导率微分方程得到的结果,由此可以得出结论,涉及将截面表示为单独热质量的方法是正确的。