"""Самостоятельный аналитический контроль занятия.
Среда: встроенный MicroPython FEMM 5; используется только стандартная арифметика.
Этот код проверяет формулы и единицы; нативные поля имеют отдельные квитанции.
"""
import math
n=400; current=0.5; lg=6e-6; ld=12e-6
phi=0.0; psi=0.0; cells=400
# Один множитель t относится к возбуждению потока, второй — к охвату витков.
for k in range(cells):
    t=(k+0.5)/cells
    dp=n*current*t*lg/cells
    phi+=dp; psi+=n*t*dp
# Проверяем разные приведения по потоку и потокосцеплению.
assert abs(phi/(n*current*lg)-0.5)<1e-12
assert abs(psi/(n*n*current*lg)-1/3)<1e-6
assert abs((n*n*ld+psi/current)-2.24)<1e-5
print("Поток утечки, Вб",phi,"Потокосцепление, Вб",psi)
