"""Токовые состояния машины постоянного тока.

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

import math

# Линейный эталон машины постоянного тока. Напряжение, В; сопротивление, Ом; ток, А.
# Коэффициент используется согласованно в формулах ЭДС и момента.
voltage_v, resistance_ohm, current_a, coefficient = 24.0, 1.0, 4.0, 0.1
# Внутренняя ЭДС равна напряжению источника за вычетом падения на сопротивлении, В.
emf_v = voltage_v - resistance_ohm * current_a
# Угловая скорость, рад/с, и электромагнитный момент, Н·м, получены по одному коэффициенту.
omega = emf_v / coefficient
torque = coefficient * current_a
# Мощность источника, потери в проводниках и мощность преобразования рассчитываются отдельно, Вт.
input_w, copper_w, converted_w = (
    voltage_v * current_a,
    resistance_ohm * current_a**2,
    torque * omega,
)
# Порядок вывода: угловая скорость, рад/с; частота вращения, об/мин; момент, Н·м.
print(omega, omega * 60 / (2 * math.pi), torque)
# Порядок вывода: входная мощность; потери; преобразованная мощность; остаток баланса, Вт.
print(input_w, copper_w, converted_w, input_w - copper_w - converted_w)
