Визуализация температурного поля круглой конфорки

Визуализация температурного поля круглой конфорки

Прокомментировать Просмотры: 33

В нашем предыдущем материале https://habr.com/p/1016120/ мы вычислили аналитическое решение для функции температурного поля T(r, z, t) поверхности круглой конфорки. Настало время воплотить эти расчеты в жизнь с помощью компьютерной визуализации.

Визуализация температурного поля круглой конфорки
Круглая конфорка

Для построения трехмерной модели мы подготовили Python-скрипт (в разработке алгоритма помогала нейросеть):

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from scipy.special import erf
from scipy.integrate import dblquad

Физические константы системы

R = 0.08 # радиус конфорки (м) P = 500 # тепловая мощность (Вт) k = 0.026 # коэффициент теплопроводности (Вт/м·К) alpha = 2e-5 # коэффициент температуропроводности (м²/с) t = 10 # временной интервал (с)

Вычисление подынтегральной функции

def integrand(r0, phi0, r, z, t): a2 = (r np.sin(phi0)) 2 + z 2 b = r np.cos(phi0) c = 2 np.sqrt(alpha t) R1 = np.sqrt(a2 + (r0 - b) * 2) return erf(R1 / c) r0

Определение температурного поля через интегральное исчисление

def temperature_field(r, z, t): A = P / (8 np.pi k np.sqrt(alpha t))

def integral(r0, phi0):
    return integrand(r0, phi0, r, z, t)

result, _ = dblquad(integral, 0, 2 * np.pi, lambda phi: 0, lambda phi: R)
return A * result

Формирование сетки координат

r = np.linspace(0, 2 R, 50)
z = np.linspace(-2
R, 2 * R, 50)
r_grid, z_grid = np.meshgrid(r, z)

Расчет значений температуры

T = np.zeros_like(r_grid)
for i in range(r_grid.shape[0]):
for j in range(r_grid.shape[1]):
T[i, j] = temperature_field(r_grid[i, j], z_grid[i, j], t)

Визуализация данных

fig = plt.figure(figsize=(12, 8))
ax = fig.add_subplot(111, projection='3d')

surface = ax.plot_surface(r_grid, z_grid, T,
cmap='hot',
alpha=0.8,
edgecolor="none")

ax.set_xlabel('Радиус (м)')
ax.set_ylabel('Высота (м)')
ax.set_zlabel('Температура (К)')
ax.set_title('Пространственное распределение температуры конфорки')

Параметры легенды

cbar = fig.colorbar(surface, ax=ax, shrink=0.5, aspect=5)
cbar.set_label('Температура (К)')

plt.show()

Варьируя значение временного параметра t, можно проследить динамику теплового распространения:

50-я секунда:

Температурное поле через 50 секунд
Температурное поле через 50 секунд

100-я секунда:

Температурное поле через 100 секунд
Температурное поле через 100 секунд

200-я секунда:

Температурное поле через 200 секунд
Температурное поле через 200 секунд

400-я секунда:

Температурное поле через 400 секунд
Температурное поле через 400 секунд

600-я секунда:

Температурное поле через 600 секунд
Температурное поле через 600 секунд

800-я секунда:

Температурное поле через 800 секунд
Температурное поле через 800 секунд

1000-я секунда:

Температурное поле через 1000 секунд
Температурное поле через 1000 секунд

2000-я секунда:

Температурное поле через 2000 секунд
Температурное поле через 2000 секунд

10000-я секунда:

Температурное поле через 10000 секунд
Температурное поле через 10000 секунд

В данном материале мы представили функциональный код для визуализации тепловых процессов и проиллюстрировали, как меняется температурная картина во времени.

В перспективе модель можно усложнить, интегрировав учет конвективного теплообмена и рассеяния энергии в окружающую среду.

Список использованных источников:

1) Уравнение теплопроводности (Википедия)

2) Материалы по теплотехнике

3) Методы решения задач теплопроводности

4) Беляев Н.М., Рядно А.А. Методы нестационарной теплопроводности. — М.: Высшая школа, 1978.

5) Предыдущая статья: аналитический расчет

 

Источник

Поделиться:

Похожие статьи

Поиск по играм, новостям и статьям…

Введите не менее двух символов

Введите не менее двух символов