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

Круглая конфорка
Круглая конфорка

Для визуализации в 3d напишем на 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 секунд

Таким образом, в данной статье предложен рабочий код для создания 3d-модели температурного поля круглой конфорки и получены красивые графики распределения в различные моменты времени.

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

Литература:

1) https://ru.wikipedia.org/wiki/Уравнение_теплопроводности

2)https://studopedia.info/1-99437.html

3)https://books.ifmo.ru/file/pdf/1851.pdf

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

5)https://habr.com/p/1016120/

Комментарии (4)


  1. Daddy_Cool
    19.07.2026 12:36

    Это всё хорошо, но где сравнение с экспериментом?


  1. FireWind
    19.07.2026 12:36

    Интересно, а как покажет температурное поле тепловизор


    1. Radisto
      19.07.2026 12:36

      Я видел примерно такую конфорку на тепловизор, который к смартфону подключается. Вообще не похоже: там четко спираль видно, как она уложена


      1. Daddy_Cool
        19.07.2026 12:36

        Так у автора модель очень куцая. А спираль - это сложная геометрия, аналитически не получится.