Расчёт температурного поля плоского радиационного теплообменника
Определение параметров теплообменника, расчётной схемы, начальных и граничных условий
В данном примере будет продемонстрировано решение уравнения теплопроводности методом Эйлера.
Задача: рассчитать поле температур для плоского радиационного теплообменника.
Дано:
плоский радиационный теплообменник длиной 20 см, толщиной 1,25 см.
Начальные условия:
вакуум,
интегральная поглощательная способность тела ,
спектральная поглощательная способность тела ,
температура в каждой точке теплообменника в начальный момент времени .
Граничные условия:
температура теплоносителя .
Допущения:
теплоперенос вдоль течения жидкости не учитывается, в связи с чем ширина теплообменника принята за 1 см,
учитывается излучение только одной стороны теплообменника, так как вторая сторона поглощает переотражённое от охлаждаемого космического аппарата тепло.
Общий вид теплообменника представлен на рисунке:

Класическое уравнение теплопроводности было модифицировано с учётом лучистого теплообмена с окружающей средой, который описывается законом Стефана-Больцмана.
Применив метод Эйлера к данному уравнению, получили:
где:
(Дж/кг*К) - теплоёмкость алюминия,
кг - масса рассчитываемого участка теплообменника,
Вт/(м*К) - коэффициент теплопроводности,
м2 - площадь рассчитываемого участка,
м - длина рассчитываемого участка теплообменника,
- интегральная поглощательная способность тела,
Вт/(м2*К4);
- площадь миделя рассчитываемого участка (проекция площади участка на перпендикуляр к направлению солнечного излучения)
- спектральная поглощательная способность тела,
Вт/м2 - интенсивность солнечного излучения,
с - шаг расчёта.
Расположение расчётных отрезков представлено на рисунке:

Определение начальных условий, параметров теплообменника и окружающей среды
Определение параметров теплообменника и окружающей среды:
# @markdown #### Выбор материала теплообменника с определённой теплоёмкостью (по порядку: алюминий, железо, золото)
c = "903.7" # @param ["903.7", "450.0", "130.0"]
c = parse(Float64, c)
m = 0.003375
A = 235.9
F = 0.00025
d = 0.01
E = 0.90
S = 0.000000056704
Fm = F*sin(67*pi/180)
L = 0.14
# @markdown #### Определение теплового потока от солнца (солнечная сторона/тень)
q = "1400.0" # @param ["1400.0", "0.0"]
q = parse(Float64, q)
# @markdown #### Определение шага расчёта по времени
h = 0.1 # @param {type:"number"}
Расчёт и визуализация данных
Построение графика решения по времени для отрезков с 1 по 10 (с левого края до середины теплообменника):
using Plots
# Определение начальных условий
T0 = 293.15
T = fill(293.0, (1080,20)); #определение массива для температуры
Q3 = fill(0.094, (1080,20)); #определение массива для теплового потока, излучаемого теплообменником
Q4 = fill(0.0451047, (1080,20)); #определение массива для теплового потока, излучаемого Солнцем
# Расчёт температур и тепловых потоков в каждый момент времени
# для всех отрезков теплообменника:
for i in 1:1079 #цикл для расчёта по времени
# @markdown #### Температура теплоносителя слева:
T[i,1] = 290.06 # @param {type:"slider", min:250, max:350, step:0.01}
# @markdown #### Температура теплоносителя справа:
T[i,20] = 293.13 # @param {type:"slider", min:250, max:350, step:0.01}
for j in 2:19 #цикл для расчёта по координате
T[1,j] = T0 #определение начального условия
T[i+1,j] = T[i,j] + h*(
(1/(c*m))*
(A*F*(T[i,j-1]-T[i,j])/d #тепловой поток, передаваемый от левого отрезка к текущему с помощью теплопроводности
+ A*F*(T[i,j+1]-T[i,j])/d #тепловой поток, передаваемый от правого отрезка к текущему с помощью теплопроводности
- E*S*T[i,j]*T[i,j]*T[i,j]*T[i,j]*F #тепловой поток, излучаемый текущим отрезком теплообменника
+ L*q*Fm) #тепловой поток от Солнца, поглощаемый текущим отрезком теплообменника
)
Q3[i,j] = E*S*T[i,j]*T[i,j]*T[i,j]*T[i,j]*F #заполнение массива для излучаемого теплового потока
Q4[i,j] = L*q*Fm #заполнение массива для поглощаемого теплового потока
end
end
T[end,1] = T[end-1,1]
Legend = ["1 отрезок" "2 отрезок" "3 отрезок" "4 отрезок" "5 отрезок" "6 отрезок" "7 отрезок" "8 отрезок" "9 отрезок" "10 отрезок"]
# построение графиков для отрезков с 11 по 20 не имеет смысла, так как они геометрически симметричны с отрезками с 1 по 10
Plots.plot(T[:,1:10], xlabel="Время", ylabel="Температура", label=Legend) # , ylims=(lim_low,lim_high)
Выводы:
В данном примере был продемонстрирован расчёт температурного поля плоского теплообменника. Из расчёта отношения излучаемого и поглощаемого тепловых потоков можно увидеть, что теплообменник действительно поглощает тепло, приносимое теплоносителем, и излучает его в окружающую среду. В свою очередь, в зависимости от координаты, были получены значения температуры в каждый момент времени. Таким образом, была решена задача по расчёту поля температур в плоском теплообменнике.