Магнитное поле постоянного магнита

от автора

Рассмотрим следующую задачу:Дан постоянный магнит некоторой формы и нужно получить аналитическое выражение для его магнитного поля B в трёхмерном пространстве.Разберём несколько случаев.Будем считать магнит однородным.

1.Форма магнита прямоугольный параллелепипед(полосовой магнит) размера 2a на 2b на 2c.Поместим начало O декартовой прямоугольной ортогональной системы координат с правой ориентацией базисных векторов(i, j, k ) XOYZ в центр параллелепипеда.Сделаем схематичный рисунок:

Полосовой магнит

Полосовой магнит
Закон Био-Савара-Лапласа

Закон Био-Савара-Лапласа
Начало решения

Начало решения
Конец решения. Аналитическое выражение.

Конец решения. Аналитическое выражение.

2. Цилиндрический магнит(магнит имеет форму цилиндра высоты 2h и радиуса R).Поместим начало O декартовой прямоугольной ортогональной системы координат с правой ориентацией базисных векторов XOYZ в центр цилиндра.Сделаем рисунок:

Цилиндрический магнит

Цилиндрический магнит
Закон Био-Савара-Лапласа.

Закон Био-Савара-Лапласа.
Начало решения.

Начало решения.
Конец решения.

Конец решения.

Теперь напишем на Python код для моделирования и визуализации магнитного поля цилиндрического магнита (код помогала писать нейросеть):

import numpy as npimport matplotlib.pyplot as pltfrom matplotlib import cm# Параметры магнитаmu_0 = 4 * np.pi * 1e-7  # Тл·м/Аmu = 1.0  # относительная магнитная проницаемостьrho = 1.0  # плотность тока (А/м²)v = 1.0  # скорость дрейфа электронов (м/с)R = 0.1  # радиус цилиндра (м)h = 0.2  # высота цилиндра (м)# Константа для расчетовconst = mu_0 * mu * rho * v / (4 * np.pi)def calculate_field(r0, z0):    # Вспомогательные функции для расчета    def I1(r0, z0):        integral = 0        for r in np.linspace(0, R, 100):            term1 = (z0 - h) * np.log(                (np.sqrt((z0 - h)**2 + (R - r0)**2) + R - r0) /                (np.sqrt((z0 - h)**2 + r0**2) - r0)            )            term2 = np.sqrt((z0 - h)**2 + (R - r0)**2) - np.sqrt((z0 - h)**2 + r0**2)            term3 = (z0 + h) * np.log(                (np.sqrt((z0 + h)**2 + (R - r0)**2) + R - r0) /                (np.sqrt((z0 + h)**2 + r0**2) - r0)            )            term4 = np.sqrt((z0 + h)**2 + (R - r0)**2) - np.sqrt((z0 + h)**2 + r0**2)            integral += r * (term1 + term2 + term3 + term4)        return integral    def I2(r0, z0):        integral = 0        for r in np.linspace(0, R, 100):            term = (r - r0) / np.sqrt((r - r0)**2 + (z0 - h)**2)            integral += r * term        return integral    # Расчет компонент поля    Br = const * I1(r0, z0)    Bz = const * I2(r0, z0)    return Br, Bz# Создание сетки для визуализацииr = np.linspace(0, 2*R, 50)z = np.linspace(-2*h, 2*h, 50)R_grid, Z_grid = np.meshgrid(r, z)Br_grid = np.zeros_like(R_grid)Bz_grid = np.zeros_like(Z_grid)for i in range(R_grid.shape[0]):    for j in range(R_grid.shape[1]):        Br_grid[i,j], Bz_grid[i,j] = calculate_field(R_grid[i,j], Z_grid[i,j])# Визуализацияplt.figure(figsize=(14, 8))# График радиальной компонентыplt.subplot(121)plt.pcolormesh(R_grid, Z_grid, Br_grid, cmap=cm.coolwarm)plt.colorbar(label='Br (Тл)')plt.title('Радиальная компонента магнитного поля')plt.xlabel('r (м)')plt.ylabel('z (м)')plt.axis('equal')# График осевой компонентыplt.subplot(122)plt.pcolormesh(R_grid, Z_grid, Bz_grid, cmap=cm.coolwarm)plt.colorbar(label='Bz (Тл)')plt.title('Осевая компонента магнитного поля')plt.xlabel('r (м)')plt.ylabel('z (м)')plt.axis('equal')plt.tight_layout()plt.show()

Результат работы программы видно здесь:

Магнитное поле цилиндрического магнита

Магнитное поле цилиндрического магнита

Из графиков видна неравномерность распределения магнитного поля в цилиндрическом магните, что можно объяснить сложной зависимостью B(r, z), а также возможными ошибками при забивании сложных аналитических формул в программу. Предоставляю читателям возможность найти их и исправить.

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

Список литературы:

  1. Л.Д.Ландау, Е. М. Лифшиц т. II Теория поля ,1967 г.

  2. Слесарев Ю. Н., Малышев Б. В., Борисова А. А., Воронцов А. А. «Математическое моделирование магнитных полей постоянных магнитов цилиндрической формы и эквивалентных им соленоидов» // «Модели, системы, сети в экономике, технике, природе и обществе». — 2016. — № 4 (20). — С. 150–157.

  3. Слесарев Ю. Н., Воронцов А. А. «Исследование магнитных полей постоянных магнитов цилиндрической формы и соленоидов и сравнение полученных результатов» // «XXI век: итоги прошлого и проблемы настоящего плюс». — 2016. — № 6 (34). — С. 110–115. 

  4. Черкасова О. А. «Исследование магнитного поля постоянного магнита с помощью компьютерного моделирования» // «Гетеромагнитная микроэлектроника». — 2014. — Вып. 17. — С. 112–120.

  5. Черкасова О. А., Черкасова С. А. «Компьютерное моделирование магнитного поля системы подмагничивания гетеромагнитного устройства» // «ИНЖИНИРИНГ ТЕХНО 2015»: сб. тр. III Междунар. научно-практ. конф. — Саратов: Издательский дом «Райт-Экспо», 2015. — Т. 2. — С. 97–103. 

ссылка на оригинал статьи https://habr.com/ru/articles/1059416/