"""Компоненты потерь выбранных областей.

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

# Сохраните итоговые .fem и .ans трансформатора в одной папке.
# Откройте Трансформатор-нагрузка-09-Готовая-модель.fem.
# Команда Analysis → View Results загрузит сохранённое гармоническое решение.
# В учебной модели все области имеют группу 0.
# Материалы этого линейного эталона не содержат механизмов потерь:
# нулевой результат ожидаем и не означает нулевых потерь реальной машины.
# Перед интегрированием снимаем прежний выбор областей.
# В окне решения должно быть открыто Трансформатор-нагрузка-09-Готовая-модель.ans из комплекта курса.
mo_clearblock()
# Выбираем все области группы 0; в данном учебном образце это вся расчётная область.
mo_groupselectblock(0)
# Интеграл 3: магнитные потери, Вт; интеграл 4: потери в проводниках, Вт;
# интеграл 6: суммарные потери выбранных областей, Вт.
magnetic_loss_w = mo_blockintegral(3)
resistive_loss_w = mo_blockintegral(4)
total_loss_w = mo_blockintegral(6)
# Порядок вывода: магнитные потери; потери в проводниках; суммарные потери, Вт.
# Материалы образца не содержат учитываемых механизмов потерь, поэтому ожидаются нули.
print(magnetic_loss_w, resistive_loss_w, total_loss_w)
# Суммарные потери используются только для проверки; повторно прибавлять их к компонентам нельзя.
print("Проверка суммы:", total_loss_w - magnetic_loss_w - resistive_loss_w)
# Снимаем выделение выбранных областей после проверки потерь.
mo_clearblock()
