ОПТИМИЗАЦИЯ ЧАШЕЧНОГО ТЯГОВОГО ЭЛЕКТРОМАГНИТА В FEMM 5 Это новый учебный осесимметричный проект. Библиотечных FEM/ANS-оригиналов в комплекте нет. Материалы, обмотка и внешнее граничное условие названы по-русски. Полная теория с выводами формул — в theory.json и соответствующих занятиях курса. КАК ЗАПУСТИТЬ 1. Распакуйте ВСЮ папку actuator в доступный для записи каталог. 2. В FEMM 5 выберите Run Script и сохранённый файл reproduce.py. Он сверит SHA-256 и заново рассчитает шесть проверочных полей. 3. Для полного поиска запустите run.py. Это около 160 нелинейных полевых решений, включая перебор, поиск и проверки. На другом компьютере время может существенно отличаться. Консоль выводит номер каждого готового поля. 4. Повторный запуск пишет в новый results-run-NN либо reproduced-NN. Эталонные results.json, CSV и модели из models/ не изменяются. 5. Для независимого открытия готовых FEM запустите verify_models.py: он повторно откроет и рассчитает четыре модели с русскими именами свойств, записав новые FEM/ANS в reopened-NN и не изменяя эталоны. 6. model.py должен находиться рядом с программами. Произвольная рабочая папка перед запуском допустима: путь определяется через sys.argv[0]. Вычисления выполняет встроенный MicroPython FEMM 5. Не нужны pyFEMM, внешний Python, NumPy/SciPy CPython, MATLAB или иной контроллер. ОБЪЕКТ И ПОСТАНОВКА Наружный радиус 25 мм, высота чашки 30 мм, дно 5 мм, дисковый якорь 5 мм, рабочий зазор 1 мм. Два полюса образуют два последовательных магнитных зазора. Обмотка: 400 витков, постоянный ток 1,5 А, заполнение медью 0,55, высота окна 23 мм, радиальные изоляционные отступы по 1 мм. Переменные: радиус центрального полюса r=6...13 мм и толщина ярма t=3...7 мм. Критерий: минимум медных потерь I²R при 20 °C. Число витков неизменно, сечение провода соответствует геометрии окна и коэффициенту заполнения. Ограничения: сила не менее 50 Н, плотность тока не более 6 А/мм², контрольная индукция не более 1,65 Тл, ширина окна не менее 2 мм. Поиск использует 50,5 Н, сохраняя 1 % запаса к обязательным 50 Н. АЛГОРИТМЫ И ПРОВЕРКА — 15-точечный одномерный перебор и дихотомия ограничения силы при t=4 мм. — Независимая сетка 30 комбинаций двух размеров. — Ограниченный координатный поиск с восстановлением допустимости радиуса. Каждая новая точка строит геометрию, материалы, сетку и рассчитывает поле. — Доводка границы допустимости на мелкой сетке и прямой локальный поиск. Найденный при проверке лучший сосед принимается, а не исключается из вывода. — Уточнение сетки, расширение внешней области, проверка соседних размеров. — Независимая сила из центральной разности коэнергии по зазору при I=const. — Для каждого поля проверяется Wм+W'м=IΨ; нелинейные Wм и W'м не подменяются формулой 0,5IΨ. Сила по умолчанию — WST, интеграл FEMM типа 19. ИТОГ ПУБЛИКУЕМОЙ СЕРИИ 161 новое нелинейное полевое решение. Исходный допустимый проект r=11 мм, t=4 мм: сила 54,8378 Н, медные потери 6,16573 Вт. Выбранный проект r=10,589375 мм, t=3,425 мм: сила 50,5322 Н, потери 5,51761 Вт (снижение на 10,5116 %), плотность тока 5,27852 А/мм². Дополнительные цифры размеров отражают вычислительную сетку поиска, а не допуск изготовления или доказанную физическую точность. При уточнении сетки сила 50,5128 Н; при расширении внешней области со 100 до 160 мм — 50,4999 Н. Производная коэнергии даёт 50,4624 Н, отличаясь от WST на 0,10 %. Все обязательные ограничения соблюдены. ГРАНИЦЫ ДОСТОВЕРНОСТИ Это лучший найденный проект принятого семейства с численной проверкой окрестности, а не доказательство глобального минимума непрерывной задачи. В соседней точке без полного запаса 50,5 Н возможны меньшие потери; в results.json отдельно заданы feasible и search_feasible. Эти признаки нельзя смешивать при сравнении конструкций. Кривая B(H) учебная, безгистерезисная; она не является паспортом марки стали. B_sample_max_T — максимум в 36 внутренних точках стали, а не истинный максимум во всём теле. Углы без скругления не пригодны для доказательства глобального ограничения индукции. Для промышленного проекта необходимы реальная кривая материала, технологические скругления, допуски, тепловой расчёт и проверка температурного сопротивления обмотки. Рассчитаны статические поля; вихревые токи, динамика якоря, нагрев, гистерезис, выводы катушки и контактное сопротивление не моделируются. СОСТАВ run.py — весь встроенный расчёт и поиск. model.py — параметрическая модель с русскими именами свойств. reproduce.py — короткое повторение опубликованных проверочных полей. verify_models.py — повторное открытие и расчёт сохранённых русских моделей. results.json — все численные точки, параметры, ограничения и проверки. evaluations.csv — таблица точек с единицами в именах колонок. theory.json — пояснения и выводы расчётных формул на русском языке. models/baseline.fem/.ans — исходный допустимый проект. models/optimum.fem/.ans — выбранный проект. models/fine.fem/.ans — независимая более мелкая сетка. models/large-domain.fem/.ans — независимая расширенная внешняя область. Остальные временные FEM/ANS не включены; run.py заново создаёт их при расчёте. manifest.json — контрольные суммы опубликованных файлов. execution-receipt.json — версия и SHA-256 нативного FEMM и расчётных входов. replay-receipt.json — краткая квитанция реального повторного расчёта. ПЕРВОИСТОЧНИКИ МЕТОДОВ https://www.femm.info/doku/doku.php?id=micropython https://www.femm.info/wiki/WeightedStressTensor https://www.femm.info/doku/doku.php?id=randomoptimization Геометрия и алгоритм этого примера разработаны для курса самостоятельно.