# Оптимизация геометрии синхронной машины с поверхностными магнитами

Это самостоятельная инженерная учебная модель SPM, а не паспортная модель
серийного двигателя. Каждый вариант строится и рассчитывается в FEMM 5.
Библиотечные оригиналы не используются и не распространяются.

## Запуск внутри FEMM 5

1. Распакуйте весь комплект в доступную для записи папку.
2. В FEMM 5 выполните **File → Run Script** и выберите `run.py`.
   Не копируйте программу частями в консоль: программа определяет свою папку
   по пути сохранённого файла и размещает результаты в новом каталоге
   `runs/расчёт-N` рядом с комплектом.
3. Дождитесь сообщения `OPTIMIZATION COMPLETE`. Нужен встроенный MicroPython;
   внешние Python, NumPy, SciPy, COM и сервер управления не требуются.
4. Численные таблицы нового расчёта находятся в созданном каталоге:
   `machine-optimization-result.json`,
   `machine-evaluations.csv` и `machine-verification.csv`.
   Нативные модели и решения отдельных характерных точек находятся в `models/`.

Повторный запуск всегда создаёт новый каталог: опубликованные эталонные
JSON/FEM/ANS не перезаписываются. Для отдельной проверки сохранённых моделей
выполните `verify_models.py`. Он заново открывает каждый эталонный FEM,
сохраняет его в новом каталоге `runs/проверка-моделей-N`, выполняет расчёт и
сверяет момент и число элементов с `model-controls.json`.

Полная серия включает несколько сотен магнитостатических задач.
`calculated/checkpoint.json` хранит завершённые оценки для контроля хода
авторского расчёта. При обычном повторном запуске серия рассчитывается заново.
Временная модель `calculated/current.fem` перезаписывается; исходный комплект
и модели из папки `models/` не читаются как входы программы.

## Исследуемая машина

Статор: 12 открытых пазов, 4 полюса, число пазов на полюс и фазу `q = 1`.
Внутренний/наружный радиусы статора — 60/100 мм; паз занимает 14° и простирается
до радиуса 85 мм. В каждом пазу 40 витков; электрические цепи «Фаза A»,
«Фаза B», «Фаза C» заданы как последовательные цепи с идеальными токами.
Активная длина — 80 мм. Радиус вала — 18 мм, наружный радиус ротора — 57 мм,
воздушный зазор — 3 мм. Магниты намагничены радиально с чередованием полюсов.

Сталь имеет явно записанную в программе нелинейную учебную характеристику
`B(H)`; она не приписана конкретной марке. У магнитов `Br = 1,2 Тл`,
относительная возвратная проницаемость `1,05`. Температурная зависимость и
необратимая ветвь размагничивания не заданы. На внешнем квадрате ±170 мм
задано `A = 0`.

Переменные: полная дуга одного магнита 60…84° и его радиальная толщина
5…9,5 мм. Наружный радиус ротора постоянен, поэтому утолщение магнита
уменьшает внутренний радиус магнита и толщину стальной спинки ротора.
Геометрические ограничения обеспечиваются выбранными пределами переменных;
магниты соседних полюсов не пересекаются.

## От полевого решения к критериям

Для каждого варианта сначала рассчитывается поле холостого хода. По
потокосцеплениям фаз определяются компоненты неподвижного вектора:

`ψα = (2/3)(ψA − ψB/2 − ψC/2)`,
`ψβ = (√3/3)(ψB − ψC)`, `δ0 = atan2(ψβ, ψα)`.

При механическом угле ротора `θ` электрический угол поля ротора равен
`2θ + δ0`. Для момента с током по положительной оси q угол токового вектора
задан как `γ = 2θ + δ0 + 90°`, а токи:

`iA = Iамп cos γ`, `iB = Iамп cos(γ − 120°)`,
`iC = Iамп cos(γ + 120°)`, где `Iамп = 10 А`.

Таким образом, токи действительно меняются при переходе к следующему
положению ротора. Это не расчёт поворота ротора при неизменных фазных токах.
Угол выбран по вектору потокосцеплений холостого хода, без поиска MTPA
и без оптимизации угла тока для каждой насыщенной конструкции.

Момент извлекается интегралом взвешенного тензора напряжений Максвелла
(`mo_blockintegral(22)`) для всей группы ротора. В воздухе тангенциальное
напряжение `σrθ = Br Bθ / μ0`; на цилиндрической поверхности радиуса `r`
момент выражается через интеграл
`T = (l r²/μ0) ∫ Br(θ) Bθ(θ) dθ`.
Взвешенный метод FEMM усредняет допустимые пути интегрирования и снижает
зависимость от выбора отдельного контура.

Средний момент за период Θ:
`Tср = (1/Θ) ∫₀^Θ T(θ) dθ`.
Для равномерной периодической сетки без повторного включения конечной точки
метод прямоугольников/периодических трапеций даёт
`Tср ≈ (1/N) Σ T(θk)`, `θk = kΘ/N`.
Число 12 — число механических положений, а не число временных шагов.

Размах пульсаций — `ΔT = max T − min T`.
Относительная пульсация — `100 ΔT/|Tср| %`. Эта величина не равна
действующему значению переменной составляющей и не является гармоническим
коэффициентом искажений. При малом среднем моменте она плохо обусловлена;
поэтому в основной постановке минимизируется абсолютный размах.

Площадь одного кольцевого сектора получается интегрированием `dS = r dr dφ`:
`Sм = (αм/2)(Rнар² − Rвн²)`, где `αм` задана в радианах.
Для четырёх одинаковых магнитов:
`Vм = 4 l Sм = 2 l αм [57² − (57 − hм)²]`.
Если длины подставлены в миллиметрах, результат в мм³ делится на 1000
для получения см³. Программа вычисляет объём непосредственно по размерам,
а не по числу конечных элементов.

## Допустимость и Парето

Одновременно рассматриваются три критерия:
увеличить `Tср`, уменьшить `ΔT`, уменьшить `Vм`.
Для единой записи минимизации используется вектор `f = (−Tср, ΔT, Vм)`.
В основной постановке `Tср ≥ 8 Н·м`; индукция в контрольных точках стали
не должна превышать `1,95 Тл`. Запас по ограничению хранится в JSON.
Неактивное ограничение также проверяется, но не объявляется определяющим
найденную конструкцию.

Контролируемая индукция — максимум модуля B в 60 внутренних точках:
пять радиусов 62, 68, 78, 90, 95 мм и 12 направлений через середины зубцов.
Это воспроизводимая выборочная метрика, а не максимум во всей стали и
не значение в сингулярной геометрической вершине. Для промышленного проекта
критерий должен быть согласован с допускаемым насыщением и дополнен
контролем всего поля, скруглений и сеточной сходимости.

Конструкция x доминирует y, когда она не хуже y по всем трём критериям
и строго лучше хотя бы по одному. Недоминируемые допустимые варианты
образуют **дискретный фронт среди рассчитанных точек**. Из этого не следует
доказательство непрерывной или глобальной оптимальности.

Чтобы выбрать один вариант, у каждого критерия вычисляется нормированное
значение `zj = (fj − fj,min)/(fj,max − fj,min)` по рассчитанным допустимым
точкам. При нулевом диапазоне делитель заменяется малым положительным числом.
Скалярная оценка `S = 0,4 zT + 0,4 zΔT + 0,2 zV` задаёт явные предпочтения
конструктора. Меньшее S выбирается как компромисс; изменение весов может
изменить выбор. Эти веса не являются физическим законом.

## Поиск и независимое уточнение

Начальный план содержит 16 конструкций: четыре дуги и четыре толщины.
После расчёта выбирается компромисс, возле него рассчитывается до восьми
новых соседних вариантов с шагами 4° и 0,75 мм. Точки за границами области
прижимаются к границе, повторы не пересчитываются. Это простой
воспроизводимый адаптивный геометрический поиск без внешних оптимизаторов.

Базовая, компромиссная конструкция и вариант максимального среднего момента
проверяются на 24 углах с основной и уточнённой пространственными сетками.
Так отдельно оцениваются влияние угловой дискретизации и влияние сетки FEM.
При совпадении двух выбранных конструкций повторный расчёт не выполняется.

30° — предполагаемый период нагруженного момента при синхронном изменении
токов и геометрической симметрии этой обмотки. Он не принимается только
на основании шага зубцов: компромисс дополнительно рассчитывается на
полном электрическом периоде 180 механических градусов. В этой проверке
использованы 72 угла с шагом 2,5° и со сдвигом 1,25° относительно поисковых
точек. Это проверка периодичности и чувствительности к сдвигу углов,
а не повышение их плотности. В отдельном уточнении 24/30° шаг равен 1,25°;
оценка размаха по любому конечному набору углов может пропускать экстремумы.

Дополнительно компромисс рассчитывается при амплитуде тока 7,5 А.
Выбранная при 10 А геометрия не объявляется оптимальной при другом токе.
Результат уточнения может оказаться хуже первоначальной оценки:
программа сохраняет фактические числа и не подменяет их ожиданиями.

## Границы применения

У машины открытые пазы и большие пульсации; найденный компромисс не
объявляется готовой промышленной конструкцией. Возможное дальнейшее
развитие — форма зубцовых коронок, закрытие пазов, скос, распределение
обмотки и оптимизация тока. Двумерный расчёт не учитывает торцевое
рассеяние, крепление магнитов, потери стали/магнитов, нагрев, преобразователь,
механическую прочность, размагничивание при температуре и допуски.
Вывод о КПД или ресурсе по этой модели делать нельзя.
