- PVSM.RU - https://www.pvsm.ru -
В одной из предыдущих статей https://habr.com/p/1016120/ [1] мы рассчитали температурное поле 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 секунд:
Через 100 секунд:
Через 200 секунд:
Через 400 секунд:
через 600 секунд:
Через 800 секунд:
Через 1000 секунд:
Через 2000 секунд:
Через 10000 секунд:
Таким образом, в данной статье предложен рабочий код для создания 3d-модели температурного поля круглой конфорки и получены красивые графики распределения в различные моменты времени.
Работу можно улучшить, добавив рассеяние тепла в окружающую среду и конвекцию.
Литература:
1) https://ru.wikipedia.org/wiki/Уравнение_теплопроводности [2]
2)https://studopedia.info/1-99437.html [3]
3)https://books.ifmo.ru/file/pdf/1851.pdf [4]
4) Беляев Н.М., Рядно А.А. Методы нестационарной теплопроводности. М.: Высшая школа, 1978.
Автор: Maximka200
Источник [5]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/python/455142
Ссылки в тексте:
[1] https://habr.com/p/1016120/: https://habr.com/p/1016120/
[2] https://ru.wikipedia.org/wiki/Уравнение_теплопроводности: https://ru.wikipedia.org/wiki/%D0%A3%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%82%D0%B5%D0%BF%D0%BB%D0%BE%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%BE%D1%81%D1%82%D0%B8
[3] https://studopedia.info/1-99437.html: https://studopedia.info/1-99437.html
[4] https://books.ifmo.ru/file/pdf/1851.pdf: https://books.ifmo.ru/file/pdf/1851.pdf
[5] Источник: https://habr.com/ru/articles/1059636/?utm_campaign=1059636&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.