"""Повтор катушки и электромагнита в реальной геометрии.

Среда: встроенный MicroPython FEMM 5.
Аналитический учебный пример; полевой решатель не вызывается.
Параметры, единицы величин и порядок вывода пояснены по стадиям.
"""

import math

# Магнитная постоянная выражена в Гн/м. Все геометрические величины ниже — в СИ.
mu0 = 4 * math.pi * 1e-7
# Число витков безразмерно; площадь в м²; ток в А.
turns, area_m2, current_a = 200, 4e-4, 1.0
# Меняем только длину эквивалентного воздушного зазора, м.
# Формулы предполагают однородное поле, пренебрежение рассеянием и сопротивлением железа.
for gap_m in [0.0005, 0.001, 0.002]:
    # Индуктивность рассчитываем из магнитного сопротивления воздушного зазора.
    inductance_h = mu0 * turns**2 * area_m2 / gap_m
    flux_density_t = mu0 * turns * current_a / gap_m
    linkage_wb = inductance_h * current_a
    # Порядок вывода: зазор, м; индуктивность, Гн; индукция, Тл; потокосцепление, Вб.
    print(gap_m, inductance_h, flux_density_t, linkage_wb)
