От постановки задачи к готовому решению
Асинхронный двигатель: сектор модели
Четверть адаптированной модели Meeker; полевой гармонический расчёт на частоте 1 Гц.
Проверка учебной модели
Исходный учебный пример повторно рассчитан в FEMM 5 15 октября 2026 года. Его модель также построена и решена из учебной Python-программы. Результат проверки.
Проходите этапы по порядку. Файл каждого этапа содержит накопленное состояние модели: его можно открыть отдельно и продолжить с указанного шага. Названия материалов, цепей и файлов приведены по-русски; названия команд интерфейса FEMM сохранены для точного поиска в программе.
Числа в таблицах позволяют сверить результат на указанной сетке. Количество выведенных знаков не задаёт физическую точность модели; для силы и момента проверяйте сетку и устойчивость метода вычисления.
Итоговые файлы примера
Итоговая модель FEMMСохранённое решение FEMMВоспроизведение итоговой модели во встроенном Python
Если нужен промежуточный результат построения, скачайте файл соответствующего этапа ниже.
Этап 1 из 11
Постановка задачи
- Создайте магнитную задачу через «Файл → Новая» (File → New → Magnetics Problem).
- В окне «Постановка задачи» (Problem Definition) выберите миллиметры, тип «плоскопараллельная» и частоту 1 Гц.
- Введите точность, минимальный угол сетки и остальные значения таблицы. В таблицах используется десятичная запятая; при вводе чисел в FEMM заменяйте её точкой.
- Поле файла предыдущего решения оставьте пустым. В осесимметричной задаче поле глубины не задаёт физическую длину: координаты обозначают радиус r и высоту z. В плоскопараллельной задаче глубина задаёт длину модели перпендикулярно плоскости чертежа.
| Параметр | Значение |
|---|---|
| Частота, Гц | 1 |
| Точность | 10 × 10⁻⁹ |
| Минимальный угол, {}^\circ | 20 |
| Умная сетка: 1 — включена | 1 |
| Глубина плоской задачи, мм | 100 |
| Единицы | миллиметры |
| Тип задачи | плоскопараллельная |
| Координаты | декартовы |
| Гармонический решатель: 0 — последовательные приближения | 0 |
| Предыдущее решение: 0 — отсутствует | 0 |
| Файл предыдущего решения | Не задан |
Сохранённое состояние этапа
Модель после шага 1Встроенный Python: шаг 1
Промежуточный этап построения. Перед расчётом завершите оставшиеся настройки модели.
Посмотреть программу этапа с русскими комментариями
# Асинхронный двигатель: сектор модели
# Шаг 1: Постановка задачи
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(1, "millimeters", "planar", 1e-08, 100, 20, 0)
mi_smartmesh(1)
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 1. Модель неполная: переходите к следующему этапу, не запускайте решение.")

Этап 2 из 11
Материалы и характеристика B–H
- Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
- Откройте «Свойства → Материалы» (Properties → Materials) и последовательно создайте материалы из таблиц.
- Для каждого материала укажите обе относительные проницаемости, коэрцитивную силу, заданную объёмную плотность тока, проводимость и параметры шихтовки. Удельная электрическая проводимость вводится в МСм/м, а не в См/м.
- Если дана таблица B–H, включите нелинейную характеристику и внесите каждую пару: B в Тл, H в А/м. Числа не заменяются свойствами одноимённого материала из другой библиотеки.
- Список сохраняет все материалы исходника. Столбец использования показывает, какие из них действительно назначены областям данного варианта.
| Параметр | Значение |
|---|---|
| Назначен областям | Да |
| Относительная магнитная проницаемость по x/r | 7000 |
| Относительная магнитная проницаемость по y/z | 7000 |
| Коэрцитивная сила, А/м | 0 |
| Угол направления коэрцитивной силы, {}^\circ | 0 |
| Действительная часть плотности тока, МА/м² | 0 |
| Мнимая часть плотности тока, МА/м² | 0 |
| Удельная электрическая проводимость, МСм/м | 0 |
| Толщина листа, мм | 0 |
| Угол гистерезиса, {}^\circ | 0 |
| Угол гистерезисного запаздывания по x, {}^\circ | 0 |
| Угол гистерезисного запаздывания по y, {}^\circ | 0 |
| Тип: 0 — без шихтовки | 0 |
| Коэффициент заполнения | 1 |
| Число жил | 0 |
| Диаметр провода, мм | 0 |
| Параметр | Значение |
|---|---|
| Назначен областям | Да |
| Относительная магнитная проницаемость по x/r | 1 |
| Относительная магнитная проницаемость по y/z | 1 |
| Коэрцитивная сила, А/м | 0 |
| Угол направления коэрцитивной силы, {}^\circ | 0 |
| Действительная часть плотности тока, МА/м² | 0 |
| Мнимая часть плотности тока, МА/м² | 0 |
| Удельная электрическая проводимость, МСм/м | 34,45 |
| Толщина листа, мм | 0 |
| Угол гистерезиса, {}^\circ | 0 |
| Угол гистерезисного запаздывания по x, {}^\circ | 0 |
| Угол гистерезисного запаздывания по y, {}^\circ | 0 |
| Тип: 0 — без шихтовки | 0 |
| Коэффициент заполнения | 1 |
| Число жил | 0 |
| Диаметр провода, мм | 0 |
| Параметр | Значение |
|---|---|
| Назначен областям | Да |
| Относительная магнитная проницаемость по x/r | 1 |
| Относительная магнитная проницаемость по y/z | 1 |
| Коэрцитивная сила, А/м | 0 |
| Угол направления коэрцитивной силы, {}^\circ | 0 |
| Действительная часть плотности тока, МА/м² | 0 |
| Мнимая часть плотности тока, МА/м² | 0 |
| Удельная электрическая проводимость, МСм/м | 0 |
| Толщина листа, мм | 0 |
| Угол гистерезиса, {}^\circ | 0 |
| Угол гистерезисного запаздывания по x, {}^\circ | 0 |
| Угол гистерезисного запаздывания по y, {}^\circ | 0 |
| Тип: 0 — без шихтовки | 0 |
| Коэффициент заполнения | 1 |
| Число жил | 0 |
| Диаметр провода, мм | 0 |
| Параметр | Значение |
|---|---|
| Назначен областям | Да |
| Относительная магнитная проницаемость по x/r | 1 |
| Относительная магнитная проницаемость по y/z | 1 |
| Коэрцитивная сила, А/м | 0 |
| Угол направления коэрцитивной силы, {}^\circ | 0 |
| Действительная часть плотности тока, МА/м² | 0 |
| Мнимая часть плотности тока, МА/м² | 0 |
| Удельная электрическая проводимость, МСм/м | 0 |
| Толщина листа, мм | 0 |
| Угол гистерезиса, {}^\circ | 0 |
| Угол гистерезисного запаздывания по x, {}^\circ | 0 |
| Угол гистерезисного запаздывания по y, {}^\circ | 0 |
| Тип: 0 — без шихтовки | 0 |
| Коэффициент заполнения | 1 |
| Число жил | 0 |
| Диаметр провода, мм | 0 |
Сохранённое состояние этапа
Модель после шага 2Встроенный Python: шаг 2
Промежуточный этап построения. Перед расчётом завершите оставшиеся настройки модели.
Посмотреть программу этапа с русскими комментариями
# Асинхронный двигатель: сектор модели
# Шаг 2: Материалы и характеристика B–H
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(1, "millimeters", "planar", 1e-08, 100, 20, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
mi_addmaterial("Электротехническая сталь", 7000, 7000, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Алюминий", 1, 1, 0, complex(0, 0), 34.450000000000003, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Воздух", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Обмотка статора", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 2. Модель неполная: переходите к следующему этапу, не запускайте решение.")

Этап 3 из 11
Цепи и токи возбуждения
- Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
- Откройте «Свойства → Цепи» (Properties → Circuits) и создайте каждую указанную цепь.
- Выберите последовательное соединение (Series), если в таблице стоит код 1; код 0 соответствует параллельному соединению. Число витков задаётся позже в метке каждой области.
- Для гармонической задачи значения в таблице — комплексные пиковые амплитуды токов, а не действующие значения. Действительная и мнимая части записываются как \operatorname{Re} + j \operatorname{Im}. Перенесите обе компоненты со знаками; цепь с нулевым током также создайте.
- Адаптированная четверть исходной геометрии Meeker. Частота поля равна 1 Гц; подпись исторического источника 50 Гц не заменяет текущую частоту. Антипериодические пары сохраняются.
Широкую таблицу можно прокрутить по горизонтали.
| Цепь | Действительная часть тока, А | Мнимая часть тока, А | Тип |
|---|---|---|---|
| Фаза А | 1 | 0 | Последовательная (1) |
| Фаза В | -0,5 | 0,866 | Последовательная (1) |
| Фаза С | -0,5 | -0,866 | Последовательная (1) |
Сохранённое состояние этапа
Модель после шага 3Встроенный Python: шаг 3
Промежуточный этап построения. Перед расчётом завершите оставшиеся настройки модели.
Посмотреть программу этапа с русскими комментариями
# Асинхронный двигатель: сектор модели
# Шаг 3: Цепи и токи возбуждения
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(1, "millimeters", "planar", 1e-08, 100, 20, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
mi_addmaterial("Электротехническая сталь", 7000, 7000, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Алюминий", 1, 1, 0, complex(0, 0), 34.450000000000003, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Воздух", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Обмотка статора", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Фаза А", complex(1, 0), 1)
mi_addcircprop("Фаза В", complex(-0.5, 0.8660254037844386), 1)
mi_addcircprop("Фаза С", complex(-0.5, -0.86602540378443904), 1)
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 3. Модель неполная: переходите к следующему этапу, не запускайте решение.")

Этап 4 из 11
Граничные условия
- Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
- В «Свойства → Граничные условия» (Properties → Boundary) создайте определения из таблиц.
- Тип 0 — заданный потенциал (Prescribed A); нулевые A_{0}, A_{1} и A_{2} дают A=0. Тип 5 — антипериодическое условие (Anti-periodic).
- На этом этапе условие только определено. Назначайте его конкретным отрезкам и дугам на этапе «Отрезки и дуги» по приведённым там таблицам.
- Для секторной модели не заменяйте разные антипериодические пары одной общей границей: их имена разделяют соответствующие пары сторон.
| Параметр | Значение |
|---|---|
| Тип границы | 0 |
| A_{0} | 0 |
| A_{1} | 0 |
| A_{2} | 0 |
| Фаза, {}^\circ | 0 |
| Действительная часть коэффициента c_{0} | 0 |
| Мнимая часть коэффициента c_{0} | 0 |
| Действительная часть коэффициента c_{1} | 0 |
| Мнимая часть коэффициента c_{1} | 0 |
| Относительная магнитная проницаемость при малой глубине проникновения | 0 |
| Удельная электрическая проводимость для условия малой глубины проникновения | 0 |
| Внутренний угол, {}^\circ | 0 |
| Внешний угол, {}^\circ | 0 |
| Параметр | Значение |
|---|---|
| Тип границы | 5 |
| A_{0} | 0 |
| A_{1} | 0 |
| A_{2} | 0 |
| Фаза, {}^\circ | 0 |
| Действительная часть коэффициента c_{0} | 0 |
| Мнимая часть коэффициента c_{0} | 0 |
| Действительная часть коэффициента c_{1} | 0 |
| Мнимая часть коэффициента c_{1} | 0 |
| Относительная магнитная проницаемость при малой глубине проникновения | 0 |
| Удельная электрическая проводимость для условия малой глубины проникновения | 0 |
| Внутренний угол, {}^\circ | 0 |
| Внешний угол, {}^\circ | 0 |
| Параметр | Значение |
|---|---|
| Тип границы | 5 |
| A_{0} | 0 |
| A_{1} | 0 |
| A_{2} | 0 |
| Фаза, {}^\circ | 0 |
| Действительная часть коэффициента c_{0} | 0 |
| Мнимая часть коэффициента c_{0} | 0 |
| Действительная часть коэффициента c_{1} | 0 |
| Мнимая часть коэффициента c_{1} | 0 |
| Относительная магнитная проницаемость при малой глубине проникновения | 0 |
| Удельная электрическая проводимость для условия малой глубины проникновения | 0 |
| Внутренний угол, {}^\circ | 0 |
| Внешний угол, {}^\circ | 0 |
| Параметр | Значение |
|---|---|
| Тип границы | 5 |
| A_{0} | 0 |
| A_{1} | 0 |
| A_{2} | 0 |
| Фаза, {}^\circ | 0 |
| Действительная часть коэффициента c_{0} | 0 |
| Мнимая часть коэффициента c_{0} | 0 |
| Действительная часть коэффициента c_{1} | 0 |
| Мнимая часть коэффициента c_{1} | 0 |
| Относительная магнитная проницаемость при малой глубине проникновения | 0 |
| Удельная электрическая проводимость для условия малой глубины проникновения | 0 |
| Внутренний угол, {}^\circ | 0 |
| Внешний угол, {}^\circ | 0 |
| Параметр | Значение |
|---|---|
| Тип границы | 5 |
| A_{0} | 0 |
| A_{1} | 0 |
| A_{2} | 0 |
| Фаза, {}^\circ | 0 |
| Действительная часть коэффициента c_{0} | 0 |
| Мнимая часть коэффициента c_{0} | 0 |
| Действительная часть коэффициента c_{1} | 0 |
| Мнимая часть коэффициента c_{1} | 0 |
| Относительная магнитная проницаемость при малой глубине проникновения | 0 |
| Удельная электрическая проводимость для условия малой глубины проникновения | 0 |
| Внутренний угол, {}^\circ | 0 |
| Внешний угол, {}^\circ | 0 |
Сохранённое состояние этапа
Модель после шага 4Встроенный Python: шаг 4
Промежуточный этап построения. Перед расчётом завершите оставшиеся настройки модели.
Посмотреть программу этапа с русскими комментариями
# Асинхронный двигатель: сектор модели
# Шаг 4: Граничные условия
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(1, "millimeters", "planar", 1e-08, 100, 20, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
mi_addmaterial("Электротехническая сталь", 7000, 7000, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Алюминий", 1, 1, 0, complex(0, 0), 34.450000000000003, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Воздух", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Обмотка статора", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Фаза А", complex(1, 0), 1)
mi_addcircprop("Фаза В", complex(-0.5, 0.8660254037844386), 1)
mi_addcircprop("Фаза С", complex(-0.5, -0.86602540378443904), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
mi_addboundprop("Антипериодичность 1", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 2", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 3", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 4", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 4. Модель неполная: переходите к следующему этапу, не запускайте решение.")

Этап 5 из 11
Узлы и размеры геометрии
- Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
- Переключитесь в режим узлов. Создавайте точки в порядке строк таблицы, вводя указанные координаты. Номер строки служит ссылкой для последующего соединения точек; это не имя, которое нужно присвоить узлу в FEMM.
- Размеры заданы в миллиметрах. Очень малые координаты порядка 10⁻¹⁴ мм означают вычислительный нуль. Таблицы округлены для чтения; полный набор исходных чисел сохранён в приложенной модели и программе этапа.
- Пока присутствуют только точки. Контуры, материалы областей и токовые назначения ещё не завершены.
Широкую таблицу можно прокрутить по горизонтали.
| № узла | x или r, мм | y или z, мм | Группа |
|---|---|---|---|
| 0 | 65 | 0 | 2 |
| 1 | 12,5 | 0 | 1 |
| 2 | 39,5 | 0,5 | 0 |
| 3 | 42,25 | 1,9 | 0 |
| 4 | 53 | 1,9 | 0 |
| 5 | 40,3 | 2,522 | 0 |
| 6 | 40,93 | 2,577 | 0 |
| 7 | 53,79 | 4,706 | 0 |
| 8 | 53,92 | 2,898 | 0 |
| 9 | 41,28 | 9,208 | 0 |
| 10 | 51,86 | 11,07 | 0 |
| 11 | 40,12 | 4,514 | 0 |
| 12 | 40,76 | 4,57 | 0 |
| 13 | 41,94 | 5,466 | 0 |
| 14 | 52,52 | 7,332 | 0 |
| 15 | 39,25 | 9,481 | 0 |
| 16 | 39,86 | 9,646 | 0 |
| 17 | 52,6 | 12,22 | 0 |
| 18 | 52,16 | 13,98 | 0 |
| 19 | 53,61 | 6,509 | 0 |
| 20 | 39,05 | 16,24 | 0 |
| 21 | 49,15 | 19,91 | 0 |
| 22 | 38,73 | 11,41 | 0 |
| 23 | 39,34 | 11,58 | 0 |
| 24 | 40,35 | 12,66 | 0 |
| 25 | 50,45 | 16,34 | 0 |
| 26 | 37 | 16,15 | 0 |
| 27 | 37,58 | 16,42 | 0 |
| 28 | 49,68 | 21,17 | 0 |
| 29 | 48,94 | 22,82 | 0 |
| 30 | 51,66 | 15,72 | 0 |
| 31 | 35,64 | 22,77 | 0 |
| 32 | 44,95 | 28,15 | 0 |
| 33 | 36,16 | 17,96 | 0 |
| 34 | 36,74 | 18,23 | 0 |
| 35 | 37,54 | 19,48 | 0 |
| 36 | 46,85 | 24,85 | 0 |
| 37 | 33,64 | 22,33 | 0 |
| 38 | 34,16 | 22,7 | 0 |
| 39 | 45,25 | 29,47 | 0 |
| 40 | 44,23 | 30,97 | 0 |
| 41 | 48,15 | 24,45 | 0 |
| 42 | 31,14 | 28,61 | 0 |
| 43 | 39,38 | 35,52 | 0 |
| 44 | 32,49 | 23,97 | 0 |
| 45 | 33,01 | 24,34 | 0 |
| 46 | 33,59 | 25,7 | 0 |
| 47 | 41,82 | 32,61 | 0 |
| 48 | 29,25 | 27,83 | 0 |
| 49 | 29,7 | 28,28 | 0 |
| 50 | 39,44 | 36,88 | 0 |
| 51 | 38,18 | 38,18 | 0 |
| 52 | 43,17 | 32,44 | 0 |
| 53 | 25,7 | 33,59 | 0 |
| 54 | 32,61 | 41,82 | 0 |
| 55 | 27,83 | 29,25 | 0 |
| 56 | 28,28 | 29,7 | 0 |
| 57 | 28,61 | 31,14 | 0 |
| 58 | 35,52 | 39,38 | 0 |
| 59 | 23,97 | 32,49 | 0 |
| 60 | 24,34 | 33,01 | 0 |
| 61 | 32,44 | 43,17 | 0 |
| 62 | 30,97 | 44,23 | 0 |
| 63 | 36,88 | 39,44 | 0 |
| 64 | 19,48 | 37,54 | 0 |
| 65 | 24,85 | 46,85 | 0 |
| 66 | 22,33 | 33,64 | 0 |
| 67 | 22,7 | 34,16 | 0 |
| 68 | 22,77 | 35,64 | 0 |
| 69 | 28,15 | 44,95 | 0 |
| 70 | 17,96 | 36,16 | 0 |
| 71 | 18,23 | 36,74 | 0 |
| 72 | 24,45 | 48,15 | 0 |
| 73 | 22,82 | 48,94 | 0 |
| 74 | 29,47 | 45,25 | 0 |
| 75 | 12,66 | 40,35 | 0 |
| 76 | 16,34 | 50,45 | 0 |
| 77 | 16,15 | 37 | 0 |
| 78 | 16,42 | 37,58 | 0 |
| 79 | 16,24 | 39,05 | 0 |
| 80 | 19,91 | 49,15 | 0 |
| 81 | 11,41 | 38,73 | 0 |
| 82 | 11,58 | 39,34 | 0 |
| 83 | 15,72 | 51,66 | 0 |
| 84 | 13,98 | 52,16 | 0 |
| 85 | 21,17 | 49,68 | 0 |
| 86 | 5,466 | 41,94 | 0 |
| 87 | 7,332 | 52,52 | 0 |
| 88 | 9,481 | 39,25 | 0 |
| 89 | 9,646 | 39,86 | 0 |
| 90 | 9,208 | 41,28 | 0 |
| 91 | 11,07 | 51,86 | 0 |
| 92 | 4,514 | 40,12 | 0 |
| 93 | 4,57 | 40,76 | 0 |
| 94 | 6,509 | 53,61 | 0 |
| 95 | 4,706 | 53,79 | 0 |
| 96 | 12,22 | 52,6 | 0 |
| 97 | 2,522 | 40,3 | 0 |
| 98 | 2,577 | 40,93 | 0 |
| 99 | 1,9 | 42,25 | 0 |
| 100 | 1,9 | 53 | 0 |
| 101 | 2,898 | 53,92 | 0 |
| 102 | 38,62 | 8,302 | 0 |
| 103 | 40 | 0,5 | 0 |
| 104 | 39,11 | 8,413 | 0 |
| 105 | 38,4 | 9,277 | 0 |
| 106 | 38,88 | 9,388 | 0 |
| 107 | 35,81 | 16,69 | 0 |
| 108 | 36,25 | 16,9 | 0 |
| 109 | 35,37 | 17,59 | 0 |
| 110 | 35,82 | 17,8 | 0 |
| 111 | 31,19 | 24,24 | 0 |
| 112 | 31,58 | 24,55 | 0 |
| 113 | 30,57 | 25,02 | 0 |
| 114 | 30,96 | 25,33 | 0 |
| 115 | 25,02 | 30,57 | 0 |
| 116 | 25,33 | 30,96 | 0 |
| 117 | 24,24 | 31,19 | 0 |
| 118 | 24,55 | 31,58 | 0 |
| 119 | 17,59 | 35,37 | 0 |
| 120 | 17,8 | 35,82 | 0 |
| 121 | 16,69 | 35,81 | 0 |
| 122 | 16,9 | 36,25 | 0 |
| 123 | 9,277 | 38,4 | 0 |
| 124 | 9,388 | 38,88 | 0 |
| 125 | 8,302 | 38,62 | 0 |
| 126 | 8,413 | 39,11 | 0 |
| 127 | 0,5 | 39,5 | 0 |
| 128 | 0,5 | 40 | 0 |
| 129 | 0 | 65 | 0 |
| 130 | 39,5 | 0 | 0 |
| 131 | 40,38 | 0 | 0 |
| 132 | 0 | 39,5 | 0 |
| 133 | 0 | 12,5 | 0 |
| 134 | 0 | 40,38 | 0 |
| 135 | 37,02 | 6,385 | 0 |
| 136 | 37,51 | 2,013 | 0 |
| 137 | 24,99 | 5,03 | 0 |
| 138 | 25,49 | 0,6577 | 0 |
| 139 | 23,25 | 10,47 | 0 |
| 140 | 34,67 | 14,46 | 0 |
| 141 | 24,7 | 6,313 | 0 |
| 142 | 36,12 | 10,31 | 0 |
| 143 | 20,34 | 15,38 | 0 |
| 144 | 30,58 | 21,81 | 0 |
| 145 | 22,68 | 11,65 | 0 |
| 146 | 32,92 | 18,09 | 0 |
| 147 | 16,4 | 19,52 | 0 |
| 148 | 24,96 | 28,07 | 0 |
| 149 | 19,52 | 16,4 | 0 |
| 150 | 28,07 | 24,96 | 0 |
| 151 | 11,65 | 22,68 | 0 |
| 152 | 18,09 | 32,92 | 0 |
| 153 | 15,38 | 20,34 | 0 |
| 154 | 21,81 | 30,58 | 0 |
| 155 | 6,313 | 24,7 | 0 |
| 156 | 10,31 | 36,12 | 0 |
| 157 | 10,47 | 23,25 | 0 |
| 158 | 14,46 | 34,67 | 0 |
| 159 | 0,6577 | 25,49 | 0 |
| 160 | 2,013 | 37,51 | 0 |
| 161 | 5,03 | 24,99 | 0 |
| 162 | 6,385 | 37,02 | 0 |
| 163 | 25 | 0 | 0 |
| 164 | 0 | 25 | 0 |
| 165 | 24,37 | 5,563 | 0 |
| 166 | 22,52 | 10,85 | 0 |
| 167 | 19,55 | 15,59 | 0 |
| 168 | 15,59 | 19,55 | 0 |
| 169 | 10,85 | 22,52 | 0 |
| 170 | 5,563 | 24,37 | 0 |
Сохранённое состояние этапа
Модель после шага 5Встроенный Python: шаг 5
Промежуточный этап построения. Перед расчётом завершите оставшиеся настройки модели.
Посмотреть программу этапа с русскими комментариями
# Асинхронный двигатель: сектор модели
# Шаг 5: Узлы и размеры геометрии
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(1, "millimeters", "planar", 1e-08, 100, 20, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
mi_addmaterial("Электротехническая сталь", 7000, 7000, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Алюминий", 1, 1, 0, complex(0, 0), 34.450000000000003, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Воздух", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Обмотка статора", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Фаза А", complex(1, 0), 1)
mi_addcircprop("Фаза В", complex(-0.5, 0.8660254037844386), 1)
mi_addcircprop("Фаза С", complex(-0.5, -0.86602540378443904), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
mi_addboundprop("Антипериодичность 1", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 2", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 3", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 4", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
(64.999999999999986, 0, 2),
(12.5, 0, 1),
(39.5, 0.50000000000000089, 0),
(42.250000000000007, 1.9000000000000004, 0),
(53.000000000000007, 1.8999999999999995, 0),
(40.296178009193994, 2.5216389216837634, 0),
(40.931138364509231, 2.5771907545622392, 0),
(53.794513696954262, 4.7064101083735412, 0),
(53.92217954228289, 2.8980257779750325, 0),
(41.278196027198625, 9.2077702371510028, 0),
(51.864879372079862, 11.074488147070504, 0),
(40.121866523698671, 4.5140283178672558, 0),
(40.756826879013907, 4.5695801507457308, 0),
(41.938059102332964, 5.4655007757046121, 0),
(52.524742447214201, 7.3322186856241141, 0),
(39.2461105167299, 9.4806874386102837, 0),
(39.861777922954325, 9.6456550229142834, 0),
(52.599743577379314, 12.217486467925504, 0),
(52.159994619609684, 13.97622843553612, 0),
(53.60621736773362, 6.5094899587674071, 0),
(39.052174955885867, 16.235767035002731, 0),
(49.153870629334385, 19.912483575753672, 0),
(38.72847242652486, 11.412539091188423, 0),
(39.344139832749285, 11.577506675492423, 0),
(40.351851500523402, 12.664935076016279, 0),
(50.45354717397192, 16.341651616767219, 0),
(37.003569815705134, 16.15167006517396, 0),
(37.581237530243349, 16.421040944332027, 0),
(49.679091020631603, 21.165725013894516, 0),
(48.940620499979104, 22.82138613399777, 0),
(51.661457404520604, 15.719218137073556, 0),
(35.63957330989254, 22.770448267190435, 0),
(44.949346400575251, 28.145448267190432, 0),
(36.15833329222373, 17.964285639247255, 0),
(36.736001006761953, 18.233656518405326, 0),
(37.539573309892546, 19.479551732809565, 0),
(46.849346400575257, 24.854551732809568, 0),
(33.636694370539971, 22.331892369946733, 0),
(34.158810252199714, 22.697481846103898, 0),
(45.248964422055025, 29.47085371568998, 0),
(44.234210391605558, 30.973127562956488, 0),
(48.146990200030061, 24.451325826592903, 0),
(31.144081263372399, 28.613260951182344, 0),
(39.379059026901416, 35.523227755312647, 0),
(32.48954149783787, 23.970196458524715, 0),
(33.01165737949762, 24.33578593468188, 0),
(33.586674180181248, 25.70229206733023, 0),
(41.821651943710265, 32.612258871460526, 0),
(29.247784987914571, 27.833571425541475, 0),
(29.698484809835001, 28.284271247461902, 0),
(39.4439709365951, 36.880525440305753, 0),
(38.183766184073562, 38.183766184073562, 0),
(43.169601061864192, 32.440492353839097, 0),
(25.702292067330237, 33.586674180181248, 0),
(32.612258871460533, 41.821651943710265, 0),
(27.833571425541479, 29.247784987914571, 0),
(28.284271247461909, 29.698484809835001, 0),
(28.613260951182351, 31.144081263372399, 0),
(35.523227755312654, 39.379059026901416, 0),
(23.970196458524718, 32.48954149783787, 0),
(24.335785934681887, 33.01165737949762, 0),
(32.440492353839105, 43.169601061864192, 0),
(30.973127562956495, 44.234210391605558, 0),
(36.88052544030576, 39.4439709365951, 0),
(19.479551732809572, 37.539573309892539, 0),
(24.854551732809579, 46.849346400575257, 0),
(22.331892369946736, 33.636694370539963, 0),
(22.697481846103905, 34.158810252199714, 0),
(22.770448267190442, 35.639573309892533, 0),
(28.145448267190442, 44.949346400575251, 0),
(17.964285639247265, 36.158333292223723, 0),
(18.233656518405333, 36.736001006761953, 0),
(24.451325826592914, 48.146990200030054, 0),
(22.821386133997777, 48.940620499979097, 0),
(29.470853715689991, 45.248964422055018, 0),
(12.664935076016283, 40.351851500523402, 0),
(16.341651616767223, 50.453547173971913, 0),
(16.15167006517396, 37.003569815705127, 0),
(16.421040944332031, 37.581237530243349, 0),
(16.235767035002734, 39.052174955885867, 0),
(19.912483575753676, 49.153870629334378, 0),
(11.412539091188426, 38.728472426524853, 0),
(11.577506675492426, 39.344139832749285, 0),
(15.719218137073563, 51.661457404520597, 0),
(13.976228435536129, 52.159994619609684, 0),
(21.165725013894523, 49.679091020631596, 0),
(5.4655007757046157, 41.938059102332964, 0),
(7.3322186856241194, 52.524742447214201, 0),
(9.4806874386102873, 39.2461105167299, 0),
(9.645655022914287, 39.861777922954325, 0),
(9.2077702371510064, 41.278196027198625, 0),
(11.074488147070509, 51.864879372079862, 0),
(4.5140283178672593, 40.121866523698671, 0),
(4.5695801507457343, 40.756826879013907, 0),
(6.5094899587674124, 53.60621736773362, 0),
(4.7064101083735466, 53.794513696954262, 0),
(12.217486467925509, 52.599743577379314, 0),
(2.521638921683766, 40.296178009193994, 0),
(2.5771907545622419, 40.931138364509231, 0),
(1.900000000000003, 42.250000000000007, 0),
(1.9000000000000028, 53.000000000000007, 0),
(2.8980257779750356, 53.92217954228289, 0),
(38.620912998160193, 8.3021129351835086, 0),
(39.996874877920149, 0.49999999999999956, 0),
(39.105330185506482, 8.4126779970777292, 0),
(38.398392064203875, 9.2770408473653312, 0),
(38.882809251550164, 9.3876059092595519, 0),
(35.805212151704346, 16.687923261192342, 0),
(36.252880947953209, 16.903509191097914, 0),
(35.371328412586777, 17.588892129094759, 0),
(35.818997208835654, 17.804478059000331, 0),
(31.194088458416545, 24.236931432185965, 0),
(31.58256088082198, 24.546727851368981, 0),
(30.570598656557816, 25.018762914653994, 0),
(30.959071078963241, 25.328559333837006, 0),
(25.01876291465399, 30.570598656557813, 0),
(25.328559333837006, 30.959071078963248, 0),
(24.236931432185958, 31.194088458416545, 0),
(24.546727851368978, 31.58256088082198, 0),
(17.588892129094752, 35.371328412586777, 0),
(17.804478059000331, 35.818997208835647, 0),
(16.687923261192331, 35.805212151704339, 0),
(16.903509191097903, 36.252880947953209, 0),
(9.2770408473653241, 38.398392064203883, 0),
(9.387605909259543, 38.882809251550171, 0),
(8.3021129351835015, 38.620912998160193, 0),
(8.4126779970777221, 39.105330185506482, 0),
(0.49999999999999289, 39.5, 0),
(0.49999999999999201, 39.996874877920149, 0),
(0, 65, 0),
(39.500000000000014, 0, 0),
(40.375, 0, 0),
(0, 39.500000000000007, 0),
(0, 12.5, 0),
(0, 40.375, 0),
(37.017886023569325, 6.3848347156391787, 0),
(37.510529718423875, 2.0125009921089108, 0),
(24.993968283861083, 5.0300645547891527, 0),
(25.48661197871564, 0.65773083125888521, 0),
(23.248022653531173, 10.465631500339654, 0),
(34.669010950262418, 14.462008149997175, 0),
(24.701250526133904, 6.3125448469828349, 0),
(36.122238822865157, 10.308921496640359, 0),
(20.336324092064675, 15.376407981791775, 0),
(30.581686902726915, 21.81399610762735, 0),
(22.677265228732161, 11.650821505187325, 0),
(32.922628039394397, 18.088409631022898, 0),
(16.404877323527902, 19.516147160748712, 0),
(24.960869375885128, 28.072139213105938, 0),
(19.516147160748712, 16.404877323527902, 0),
(28.072139213105938, 24.960869375885132, 0),
(11.650821505187322, 22.677265228732157, 0),
(18.088409631022895, 32.922628039394397, 0),
(15.376407981791772, 20.336324092064675, 0),
(21.813996107627347, 30.581686902726918, 0),
(6.3125448469828314, 24.701250526133904, 0),
(10.30892149664035, 36.122238822865157, 0),
(10.465631500339647, 23.248022653531173, 0),
(14.462008149997168, 34.669010950262425, 0),
(0.65773083125888121, 25.486611978715636, 0),
(2.0125009921089045, 37.510529718423882, 0),
(5.0300645547891483, 24.993968283861086, 0),
(6.3848347156391716, 37.017886023569318, 0),
(25, 0, 0),
(0, 25, 0),
(24.37319780454559, 5.5630233489078602, 0),
(22.524221697560478, 10.847093477938955, 0),
(19.545787061700747, 15.58724504646834, 0),
(15.587245046468338, 19.545787061700747, 0),
(10.847093477938948, 22.524221697560481, 0),
(5.5630233489078558, 24.37319780454559, 0),
]
for x, y, group in _nodes:
mi_addnode(x, y)
if group:
mi_selectnode(x, y)
mi_setnodeprop('', group)
mi_clearselected()
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 5. Модель неполная: переходите к следующему этапу, не запускайте решение.")

Этап 6 из 11
Отрезки и дуги
- Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
- В режиме отрезков соедините пары узлов из первой таблицы. Координаты каждого конца найдите по номеру узла в таблице предыдущего этапа; каждая строка задаёт отдельный отрезок.
- В режиме дуг соедините пары узлов из второй таблицы. Угол отсчитывается от начального узла к конечному против часовой стрелки. Создавайте именно дуги, сохраняя заданный угол.
- Выделите каждый граничный отрезок или дугу и назначьте указанное условие через свойства объекта. Сохраните номера групп.
- Геометрия включает внешнюю воздушную область. На данном этапе ограничения сетки предварительные; точные ограничения будут восстановлены на шаге 9.
Широкую таблицу можно прокрутить по горизонтали.
| № | Начальный узел | Конечный узел | Граница | Группа |
|---|---|---|---|---|
| 0 | 103 | 2 | Нет | 4 |
| 1 | 3 | 4 | Нет | 5 |
| 2 | 5 | 6 | Нет | 5 |
| 3 | 10 | 9 | Нет | 5 |
| 4 | 11 | 12 | Нет | 5 |
| 5 | 13 | 14 | Нет | 5 |
| 6 | 15 | 16 | Нет | 5 |
| 7 | 21 | 20 | Нет | 5 |
| 8 | 22 | 23 | Нет | 5 |
| 9 | 24 | 25 | Нет | 5 |
| 10 | 26 | 27 | Нет | 5 |
| 11 | 32 | 31 | Нет | 5 |
| 12 | 34 | 33 | Нет | 5 |
| 13 | 36 | 35 | Нет | 5 |
| 14 | 37 | 38 | Нет | 5 |
| 15 | 43 | 42 | Нет | 5 |
| 16 | 44 | 45 | Нет | 5 |
| 17 | 47 | 46 | Нет | 5 |
| 18 | 49 | 48 | Нет | 5 |
| 19 | 54 | 53 | Нет | 5 |
| 20 | 55 | 56 | Нет | 5 |
| 21 | 57 | 58 | Нет | 5 |
| 22 | 59 | 60 | Нет | 5 |
| 23 | 65 | 64 | Нет | 5 |
| 24 | 67 | 66 | Нет | 5 |
| 25 | 69 | 68 | Нет | 5 |
| 26 | 70 | 71 | Нет | 5 |
| 27 | 75 | 76 | Нет | 5 |
| 28 | 77 | 78 | Нет | 5 |
| 29 | 79 | 80 | Нет | 5 |
| 30 | 81 | 82 | Нет | 5 |
| 31 | 86 | 87 | Нет | 5 |
| 32 | 89 | 88 | Нет | 5 |
| 33 | 91 | 90 | Нет | 5 |
| 34 | 92 | 93 | Нет | 5 |
| 35 | 97 | 98 | Нет | 5 |
| 36 | 100 | 99 | Нет | 5 |
| 37 | 102 | 104 | Нет | 4 |
| 38 | 106 | 105 | Нет | 4 |
| 39 | 108 | 107 | Нет | 4 |
| 40 | 109 | 110 | Нет | 4 |
| 41 | 111 | 112 | Нет | 4 |
| 42 | 114 | 113 | Нет | 4 |
| 43 | 116 | 115 | Нет | 4 |
| 44 | 118 | 117 | Нет | 4 |
| 45 | 120 | 119 | Нет | 4 |
| 46 | 121 | 122 | Нет | 4 |
| 47 | 123 | 124 | Нет | 4 |
| 48 | 125 | 126 | Нет | 4 |
| 49 | 127 | 128 | Нет | 4 |
| 50 | 2 | 130 | Нет | 0 |
| 51 | 102 | 105 | Нет | 0 |
| 52 | 107 | 109 | Нет | 0 |
| 53 | 111 | 113 | Нет | 0 |
| 54 | 115 | 117 | Нет | 0 |
| 55 | 121 | 119 | Нет | 0 |
| 56 | 123 | 125 | Нет | 0 |
| 57 | 6 | 12 | Нет | 5 |
| 58 | 23 | 16 | Нет | 5 |
| 59 | 27 | 34 | Нет | 5 |
| 60 | 45 | 38 | Нет | 5 |
| 61 | 56 | 49 | Нет | 5 |
| 62 | 60 | 67 | Нет | 5 |
| 63 | 78 | 71 | Нет | 5 |
| 64 | 89 | 82 | Нет | 5 |
| 65 | 93 | 98 | Нет | 5 |
| 66 | 131 | 0 | Антипериодичность 4 | 5 |
| 67 | 127 | 132 | Нет | 0 |
| 68 | 134 | 129 | Антипериодичность 4 | 5 |
| 69 | 135 | 137 | Нет | 4 |
| 70 | 138 | 136 | Нет | 4 |
| 71 | 140 | 139 | Нет | 4 |
| 72 | 142 | 141 | Нет | 4 |
| 73 | 144 | 143 | Нет | 4 |
| 74 | 146 | 145 | Нет | 4 |
| 75 | 148 | 147 | Нет | 4 |
| 76 | 150 | 149 | Нет | 4 |
| 77 | 152 | 151 | Нет | 4 |
| 78 | 154 | 153 | Нет | 4 |
| 79 | 156 | 155 | Нет | 4 |
| 80 | 158 | 157 | Нет | 4 |
| 81 | 160 | 159 | Нет | 4 |
| 82 | 161 | 162 | Нет | 4 |
| 83 | 132 | 164 | Антипериодичность 2 | 4 |
| 84 | 164 | 133 | Антипериодичность 1 | 4 |
| 85 | 163 | 1 | Антипериодичность 1 | 4 |
| 86 | 130 | 163 | Антипериодичность 2 | 4 |
| 87 | 134 | 132 | Антипериодичность 3 | 0 |
| 88 | 131 | 130 | Антипериодичность 3 | 0 |
Широкую таблицу можно прокрутить по горизонтали.
| № | Начальный узел | Конечный узел | Угол дуги, {}^\circ | Граница | Группа |
|---|---|---|---|---|---|
| 0 | 1 | 133 | 90 | Нулевой потенциал | 4 |
| 1 | 6 | 3 | 60 | Нет | 5 |
| 2 | 8 | 7 | 1,924 | Нет | 5 |
| 3 | 4 | 8 | 100 | Нет | 5 |
| 4 | 13 | 12 | 60 | Нет | 5 |
| 5 | 16 | 9 | 60 | Нет | 5 |
| 6 | 11 | 15 | 7,162 | Нет | 5 |
| 7 | 17 | 18 | 1,924 | Нет | 5 |
| 8 | 10 | 17 | 100 | Нет | 5 |
| 9 | 7 | 19 | 1,924 | Нет | 5 |
| 10 | 19 | 14 | 100 | Нет | 5 |
| 11 | 24 | 23 | 60 | Нет | 5 |
| 12 | 27 | 20 | 60 | Нет | 5 |
| 13 | 22 | 26 | 7,162 | Нет | 5 |
| 14 | 28 | 29 | 1,924 | Нет | 5 |
| 15 | 21 | 28 | 100 | Нет | 5 |
| 16 | 18 | 30 | 1,924 | Нет | 5 |
| 17 | 30 | 25 | 100 | Нет | 5 |
| 18 | 35 | 34 | 60 | Нет | 5 |
| 19 | 38 | 31 | 60 | Нет | 5 |
| 20 | 33 | 37 | 7,162 | Нет | 5 |
| 21 | 39 | 40 | 1,924 | Нет | 5 |
| 22 | 32 | 39 | 100 | Нет | 5 |
| 23 | 29 | 41 | 1,924 | Нет | 5 |
| 24 | 41 | 36 | 100 | Нет | 5 |
| 25 | 46 | 45 | 60 | Нет | 5 |
| 26 | 49 | 42 | 60 | Нет | 5 |
| 27 | 44 | 48 | 7,162 | Нет | 5 |
| 28 | 50 | 51 | 1,924 | Нет | 5 |
| 29 | 43 | 50 | 100 | Нет | 5 |
| 30 | 40 | 52 | 1,924 | Нет | 5 |
| 31 | 52 | 47 | 100 | Нет | 5 |
| 32 | 57 | 56 | 60 | Нет | 5 |
| 33 | 60 | 53 | 60 | Нет | 5 |
| 34 | 55 | 59 | 7,162 | Нет | 5 |
| 35 | 61 | 62 | 1,924 | Нет | 5 |
| 36 | 54 | 61 | 100 | Нет | 5 |
| 37 | 51 | 63 | 1,924 | Нет | 5 |
| 38 | 63 | 58 | 100 | Нет | 5 |
| 39 | 68 | 67 | 60 | Нет | 5 |
| 40 | 71 | 64 | 60 | Нет | 5 |
| 41 | 66 | 70 | 7,162 | Нет | 5 |
| 42 | 72 | 73 | 1,924 | Нет | 5 |
| 43 | 65 | 72 | 100 | Нет | 5 |
| 44 | 62 | 74 | 1,924 | Нет | 5 |
| 45 | 74 | 69 | 100 | Нет | 5 |
| 46 | 79 | 78 | 60 | Нет | 5 |
| 47 | 82 | 75 | 60 | Нет | 5 |
| 48 | 77 | 81 | 7,162 | Нет | 5 |
| 49 | 83 | 84 | 1,924 | Нет | 5 |
| 50 | 76 | 83 | 100 | Нет | 5 |
| 51 | 73 | 85 | 1,924 | Нет | 5 |
| 52 | 85 | 80 | 100 | Нет | 5 |
| 53 | 90 | 89 | 60 | Нет | 5 |
| 54 | 93 | 86 | 60 | Нет | 5 |
| 55 | 88 | 92 | 7,162 | Нет | 5 |
| 56 | 94 | 95 | 1,924 | Нет | 5 |
| 57 | 87 | 94 | 100 | Нет | 5 |
| 58 | 84 | 96 | 1,924 | Нет | 5 |
| 59 | 96 | 91 | 100 | Нет | 5 |
| 60 | 99 | 98 | 60 | Нет | 5 |
| 61 | 97 | 134 | 3,581 | Нет | 5 |
| 62 | 95 | 101 | 1,924 | Нет | 5 |
| 63 | 101 | 100 | 100 | Нет | 5 |
| 64 | 103 | 104 | 11,42 | Нет | 4 |
| 65 | 106 | 108 | 11,42 | Нет | 4 |
| 66 | 110 | 112 | 11,42 | Нет | 4 |
| 67 | 114 | 116 | 11,42 | Нет | 4 |
| 68 | 118 | 120 | 11,42 | Нет | 4 |
| 69 | 122 | 124 | 11,42 | Нет | 4 |
| 70 | 126 | 128 | 11,42 | Нет | 4 |
| 71 | 0 | 129 | 90 | Нулевой потенциал | 5 |
| 72 | 131 | 5 | 3,581 | Нет | 5 |
| 73 | 2 | 136 | 85 | Нет | 4 |
| 74 | 135 | 102 | 85 | Нет | 4 |
| 75 | 138 | 163 | 80 | Нет | 4 |
| 76 | 164 | 159 | 80 | Нет | 4 |
| 77 | 141 | 165 | 80 | Нет | 4 |
| 78 | 145 | 166 | 80 | Нет | 4 |
| 79 | 149 | 167 | 80 | Нет | 4 |
| 80 | 153 | 168 | 80 | Нет | 4 |
| 81 | 157 | 169 | 80 | Нет | 4 |
| 82 | 161 | 170 | 80 | Нет | 4 |
| 83 | 170 | 155 | 80 | Нет | 4 |
| 84 | 169 | 151 | 80 | Нет | 4 |
| 85 | 168 | 147 | 80 | Нет | 4 |
| 86 | 167 | 143 | 80 | Нет | 4 |
| 87 | 166 | 139 | 80 | Нет | 4 |
| 88 | 165 | 137 | 80 | Нет | 4 |
| 89 | 105 | 142 | 85 | Нет | 4 |
| 90 | 140 | 107 | 85 | Нет | 4 |
| 91 | 109 | 146 | 85 | Нет | 4 |
| 92 | 144 | 111 | 85 | Нет | 4 |
| 93 | 113 | 150 | 85 | Нет | 4 |
| 94 | 148 | 115 | 85 | Нет | 4 |
| 95 | 117 | 154 | 85 | Нет | 4 |
| 96 | 152 | 119 | 85 | Нет | 4 |
| 97 | 121 | 158 | 85 | Нет | 4 |
| 98 | 156 | 123 | 85 | Нет | 4 |
| 99 | 125 | 162 | 85 | Нет | 4 |
| 100 | 160 | 127 | 85 | Нет | 4 |
Сохранённое состояние этапа
Модель после шага 6Встроенный Python: шаг 6
Промежуточный этап построения. Перед расчётом завершите оставшиеся настройки модели.
Посмотреть программу этапа с русскими комментариями
# Асинхронный двигатель: сектор модели
# Шаг 6: Отрезки и дуги
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(1, "millimeters", "planar", 1e-08, 100, 20, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
mi_addmaterial("Электротехническая сталь", 7000, 7000, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Алюминий", 1, 1, 0, complex(0, 0), 34.450000000000003, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Воздух", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Обмотка статора", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Фаза А", complex(1, 0), 1)
mi_addcircprop("Фаза В", complex(-0.5, 0.8660254037844386), 1)
mi_addcircprop("Фаза С", complex(-0.5, -0.86602540378443904), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
mi_addboundprop("Антипериодичность 1", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 2", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 3", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 4", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
(64.999999999999986, 0, 2),
(12.5, 0, 1),
(39.5, 0.50000000000000089, 0),
(42.250000000000007, 1.9000000000000004, 0),
(53.000000000000007, 1.8999999999999995, 0),
(40.296178009193994, 2.5216389216837634, 0),
(40.931138364509231, 2.5771907545622392, 0),
(53.794513696954262, 4.7064101083735412, 0),
(53.92217954228289, 2.8980257779750325, 0),
(41.278196027198625, 9.2077702371510028, 0),
(51.864879372079862, 11.074488147070504, 0),
(40.121866523698671, 4.5140283178672558, 0),
(40.756826879013907, 4.5695801507457308, 0),
(41.938059102332964, 5.4655007757046121, 0),
(52.524742447214201, 7.3322186856241141, 0),
(39.2461105167299, 9.4806874386102837, 0),
(39.861777922954325, 9.6456550229142834, 0),
(52.599743577379314, 12.217486467925504, 0),
(52.159994619609684, 13.97622843553612, 0),
(53.60621736773362, 6.5094899587674071, 0),
(39.052174955885867, 16.235767035002731, 0),
(49.153870629334385, 19.912483575753672, 0),
(38.72847242652486, 11.412539091188423, 0),
(39.344139832749285, 11.577506675492423, 0),
(40.351851500523402, 12.664935076016279, 0),
(50.45354717397192, 16.341651616767219, 0),
(37.003569815705134, 16.15167006517396, 0),
(37.581237530243349, 16.421040944332027, 0),
(49.679091020631603, 21.165725013894516, 0),
(48.940620499979104, 22.82138613399777, 0),
(51.661457404520604, 15.719218137073556, 0),
(35.63957330989254, 22.770448267190435, 0),
(44.949346400575251, 28.145448267190432, 0),
(36.15833329222373, 17.964285639247255, 0),
(36.736001006761953, 18.233656518405326, 0),
(37.539573309892546, 19.479551732809565, 0),
(46.849346400575257, 24.854551732809568, 0),
(33.636694370539971, 22.331892369946733, 0),
(34.158810252199714, 22.697481846103898, 0),
(45.248964422055025, 29.47085371568998, 0),
(44.234210391605558, 30.973127562956488, 0),
(48.146990200030061, 24.451325826592903, 0),
(31.144081263372399, 28.613260951182344, 0),
(39.379059026901416, 35.523227755312647, 0),
(32.48954149783787, 23.970196458524715, 0),
(33.01165737949762, 24.33578593468188, 0),
(33.586674180181248, 25.70229206733023, 0),
(41.821651943710265, 32.612258871460526, 0),
(29.247784987914571, 27.833571425541475, 0),
(29.698484809835001, 28.284271247461902, 0),
(39.4439709365951, 36.880525440305753, 0),
(38.183766184073562, 38.183766184073562, 0),
(43.169601061864192, 32.440492353839097, 0),
(25.702292067330237, 33.586674180181248, 0),
(32.612258871460533, 41.821651943710265, 0),
(27.833571425541479, 29.247784987914571, 0),
(28.284271247461909, 29.698484809835001, 0),
(28.613260951182351, 31.144081263372399, 0),
(35.523227755312654, 39.379059026901416, 0),
(23.970196458524718, 32.48954149783787, 0),
(24.335785934681887, 33.01165737949762, 0),
(32.440492353839105, 43.169601061864192, 0),
(30.973127562956495, 44.234210391605558, 0),
(36.88052544030576, 39.4439709365951, 0),
(19.479551732809572, 37.539573309892539, 0),
(24.854551732809579, 46.849346400575257, 0),
(22.331892369946736, 33.636694370539963, 0),
(22.697481846103905, 34.158810252199714, 0),
(22.770448267190442, 35.639573309892533, 0),
(28.145448267190442, 44.949346400575251, 0),
(17.964285639247265, 36.158333292223723, 0),
(18.233656518405333, 36.736001006761953, 0),
(24.451325826592914, 48.146990200030054, 0),
(22.821386133997777, 48.940620499979097, 0),
(29.470853715689991, 45.248964422055018, 0),
(12.664935076016283, 40.351851500523402, 0),
(16.341651616767223, 50.453547173971913, 0),
(16.15167006517396, 37.003569815705127, 0),
(16.421040944332031, 37.581237530243349, 0),
(16.235767035002734, 39.052174955885867, 0),
(19.912483575753676, 49.153870629334378, 0),
(11.412539091188426, 38.728472426524853, 0),
(11.577506675492426, 39.344139832749285, 0),
(15.719218137073563, 51.661457404520597, 0),
(13.976228435536129, 52.159994619609684, 0),
(21.165725013894523, 49.679091020631596, 0),
(5.4655007757046157, 41.938059102332964, 0),
(7.3322186856241194, 52.524742447214201, 0),
(9.4806874386102873, 39.2461105167299, 0),
(9.645655022914287, 39.861777922954325, 0),
(9.2077702371510064, 41.278196027198625, 0),
(11.074488147070509, 51.864879372079862, 0),
(4.5140283178672593, 40.121866523698671, 0),
(4.5695801507457343, 40.756826879013907, 0),
(6.5094899587674124, 53.60621736773362, 0),
(4.7064101083735466, 53.794513696954262, 0),
(12.217486467925509, 52.599743577379314, 0),
(2.521638921683766, 40.296178009193994, 0),
(2.5771907545622419, 40.931138364509231, 0),
(1.900000000000003, 42.250000000000007, 0),
(1.9000000000000028, 53.000000000000007, 0),
(2.8980257779750356, 53.92217954228289, 0),
(38.620912998160193, 8.3021129351835086, 0),
(39.996874877920149, 0.49999999999999956, 0),
(39.105330185506482, 8.4126779970777292, 0),
(38.398392064203875, 9.2770408473653312, 0),
(38.882809251550164, 9.3876059092595519, 0),
(35.805212151704346, 16.687923261192342, 0),
(36.252880947953209, 16.903509191097914, 0),
(35.371328412586777, 17.588892129094759, 0),
(35.818997208835654, 17.804478059000331, 0),
(31.194088458416545, 24.236931432185965, 0),
(31.58256088082198, 24.546727851368981, 0),
(30.570598656557816, 25.018762914653994, 0),
(30.959071078963241, 25.328559333837006, 0),
(25.01876291465399, 30.570598656557813, 0),
(25.328559333837006, 30.959071078963248, 0),
(24.236931432185958, 31.194088458416545, 0),
(24.546727851368978, 31.58256088082198, 0),
(17.588892129094752, 35.371328412586777, 0),
(17.804478059000331, 35.818997208835647, 0),
(16.687923261192331, 35.805212151704339, 0),
(16.903509191097903, 36.252880947953209, 0),
(9.2770408473653241, 38.398392064203883, 0),
(9.387605909259543, 38.882809251550171, 0),
(8.3021129351835015, 38.620912998160193, 0),
(8.4126779970777221, 39.105330185506482, 0),
(0.49999999999999289, 39.5, 0),
(0.49999999999999201, 39.996874877920149, 0),
(0, 65, 0),
(39.500000000000014, 0, 0),
(40.375, 0, 0),
(0, 39.500000000000007, 0),
(0, 12.5, 0),
(0, 40.375, 0),
(37.017886023569325, 6.3848347156391787, 0),
(37.510529718423875, 2.0125009921089108, 0),
(24.993968283861083, 5.0300645547891527, 0),
(25.48661197871564, 0.65773083125888521, 0),
(23.248022653531173, 10.465631500339654, 0),
(34.669010950262418, 14.462008149997175, 0),
(24.701250526133904, 6.3125448469828349, 0),
(36.122238822865157, 10.308921496640359, 0),
(20.336324092064675, 15.376407981791775, 0),
(30.581686902726915, 21.81399610762735, 0),
(22.677265228732161, 11.650821505187325, 0),
(32.922628039394397, 18.088409631022898, 0),
(16.404877323527902, 19.516147160748712, 0),
(24.960869375885128, 28.072139213105938, 0),
(19.516147160748712, 16.404877323527902, 0),
(28.072139213105938, 24.960869375885132, 0),
(11.650821505187322, 22.677265228732157, 0),
(18.088409631022895, 32.922628039394397, 0),
(15.376407981791772, 20.336324092064675, 0),
(21.813996107627347, 30.581686902726918, 0),
(6.3125448469828314, 24.701250526133904, 0),
(10.30892149664035, 36.122238822865157, 0),
(10.465631500339647, 23.248022653531173, 0),
(14.462008149997168, 34.669010950262425, 0),
(0.65773083125888121, 25.486611978715636, 0),
(2.0125009921089045, 37.510529718423882, 0),
(5.0300645547891483, 24.993968283861086, 0),
(6.3848347156391716, 37.017886023569318, 0),
(25, 0, 0),
(0, 25, 0),
(24.37319780454559, 5.5630233489078602, 0),
(22.524221697560478, 10.847093477938955, 0),
(19.545787061700747, 15.58724504646834, 0),
(15.587245046468338, 19.545787061700747, 0),
(10.847093477938948, 22.524221697560481, 0),
(5.5630233489078558, 24.37319780454559, 0),
]
for x, y, group in _nodes:
mi_addnode(x, y)
if group:
mi_selectnode(x, y)
mi_setnodeprop('', group)
mi_clearselected()
# Отрезки: индексы узлов, локальный размер, имя границы, видимость, группа.
_segments = [
(103, 2, -1, "", 0, 4),
(3, 4, -1, "", 0, 5),
(5, 6, -1, "", 0, 5),
(10, 9, -1, "", 0, 5),
(11, 12, -1, "", 0, 5),
(13, 14, -1, "", 0, 5),
(15, 16, -1, "", 0, 5),
(21, 20, -1, "", 0, 5),
(22, 23, -1, "", 0, 5),
(24, 25, -1, "", 0, 5),
(26, 27, -1, "", 0, 5),
(32, 31, -1, "", 0, 5),
(34, 33, -1, "", 0, 5),
(36, 35, -1, "", 0, 5),
(37, 38, -1, "", 0, 5),
(43, 42, -1, "", 0, 5),
(44, 45, -1, "", 0, 5),
(47, 46, -1, "", 0, 5),
(49, 48, -1, "", 0, 5),
(54, 53, -1, "", 0, 5),
(55, 56, -1, "", 0, 5),
(57, 58, -1, "", 0, 5),
(59, 60, -1, "", 0, 5),
(65, 64, -1, "", 0, 5),
(67, 66, -1, "", 0, 5),
(69, 68, -1, "", 0, 5),
(70, 71, -1, "", 0, 5),
(75, 76, -1, "", 0, 5),
(77, 78, -1, "", 0, 5),
(79, 80, -1, "", 0, 5),
(81, 82, -1, "", 0, 5),
(86, 87, -1, "", 0, 5),
(89, 88, -1, "", 0, 5),
(91, 90, -1, "", 0, 5),
(92, 93, -1, "", 0, 5),
(97, 98, -1, "", 0, 5),
(100, 99, -1, "", 0, 5),
(102, 104, -1, "", 0, 4),
(106, 105, -1, "", 0, 4),
(108, 107, -1, "", 0, 4),
(109, 110, -1, "", 0, 4),
(111, 112, -1, "", 0, 4),
(114, 113, -1, "", 0, 4),
(116, 115, -1, "", 0, 4),
(118, 117, -1, "", 0, 4),
(120, 119, -1, "", 0, 4),
(121, 122, -1, "", 0, 4),
(123, 124, -1, "", 0, 4),
(125, 126, -1, "", 0, 4),
(127, 128, -1, "", 0, 4),
(2, 130, -1, "", 0, 0),
(102, 105, -1, "", 0, 0),
(107, 109, -1, "", 0, 0),
(111, 113, -1, "", 0, 0),
(115, 117, -1, "", 0, 0),
(121, 119, -1, "", 0, 0),
(123, 125, -1, "", 0, 0),
(6, 12, -1, "", 0, 5),
(23, 16, -1, "", 0, 5),
(27, 34, -1, "", 0, 5),
(45, 38, -1, "", 0, 5),
(56, 49, -1, "", 0, 5),
(60, 67, -1, "", 0, 5),
(78, 71, -1, "", 0, 5),
(89, 82, -1, "", 0, 5),
(93, 98, -1, "", 0, 5),
(131, 0, -1, "Антипериодичность 4", 0, 5),
(127, 132, -1, "", 0, 0),
(134, 129, -1, "Антипериодичность 4", 0, 5),
(135, 137, -1, "", 0, 4),
(138, 136, -1, "", 0, 4),
(140, 139, -1, "", 0, 4),
(142, 141, -1, "", 0, 4),
(144, 143, -1, "", 0, 4),
(146, 145, -1, "", 0, 4),
(148, 147, -1, "", 0, 4),
(150, 149, -1, "", 0, 4),
(152, 151, -1, "", 0, 4),
(154, 153, -1, "", 0, 4),
(156, 155, -1, "", 0, 4),
(158, 157, -1, "", 0, 4),
(160, 159, -1, "", 0, 4),
(161, 162, -1, "", 0, 4),
(132, 164, -1, "Антипериодичность 2", 0, 4),
(164, 133, -1, "Антипериодичность 1", 0, 4),
(163, 1, -1, "Антипериодичность 1", 0, 4),
(130, 163, -1, "Антипериодичность 2", 0, 4),
(134, 132, -1, "Антипериодичность 3", 0, 0),
(131, 130, -1, "Антипериодичность 3", 0, 0),
]
for a, b, size, boundary, hidden, group in _segments:
x0, y0 = _nodes[a][:2]
x1, y1 = _nodes[b][:2]
mi_addsegment(x0, y0, x1, y1)
mi_selectsegment((x0+x1)/2, (y0+y1)/2)
mi_setsegmentprop(boundary, size, 1 if size <= 0 else 0, hidden, group)
mi_clearselected()
# Дуги: угол против часовой стрелки и максимальный угол элемента в градусах.
_arcs = [
(1, 133, 90, 10, "Нулевой потенциал", 0, 4),
(6, 3, 60, 10, "", 0, 5),
(8, 7, 1.923621196237385, 10, "", 0, 5),
(4, 8, 100, 10, "", 0, 5),
(13, 12, 60, 10, "", 0, 5),
(16, 9, 60, 10, "", 0, 5),
(11, 15, 7.1615287138308048, 10, "", 0, 5),
(17, 18, 1.923621196237385, 10, "", 0, 5),
(10, 17, 100, 10, "", 0, 5),
(7, 19, 1.923621196237385, 10, "", 0, 5),
(19, 14, 100, 10, "", 0, 5),
(24, 23, 60, 10, "", 0, 5),
(27, 20, 60, 10, "", 0, 5),
(22, 26, 7.1615287138308048, 10, "", 0, 5),
(28, 29, 1.923621196237385, 10, "", 0, 5),
(21, 28, 100, 10, "", 0, 5),
(18, 30, 1.923621196237385, 10, "", 0, 5),
(30, 25, 100, 10, "", 0, 5),
(35, 34, 60, 10, "", 0, 5),
(38, 31, 60, 10, "", 0, 5),
(33, 37, 7.1615287138308048, 10, "", 0, 5),
(39, 40, 1.923621196237385, 10, "", 0, 5),
(32, 39, 100, 10, "", 0, 5),
(29, 41, 1.923621196237385, 10, "", 0, 5),
(41, 36, 100, 10, "", 0, 5),
(46, 45, 60, 10, "", 0, 5),
(49, 42, 60, 10, "", 0, 5),
(44, 48, 7.1615287138308048, 10, "", 0, 5),
(50, 51, 1.923621196237385, 10, "", 0, 5),
(43, 50, 100, 10, "", 0, 5),
(40, 52, 1.923621196237385, 10, "", 0, 5),
(52, 47, 100, 10, "", 0, 5),
(57, 56, 60, 10, "", 0, 5),
(60, 53, 60, 10, "", 0, 5),
(55, 59, 7.1615287138308048, 10, "", 0, 5),
(61, 62, 1.923621196237385, 10, "", 0, 5),
(54, 61, 100, 10, "", 0, 5),
(51, 63, 1.923621196237385, 10, "", 0, 5),
(63, 58, 100, 10, "", 0, 5),
(68, 67, 60, 10, "", 0, 5),
(71, 64, 60, 10, "", 0, 5),
(66, 70, 7.1615287138308048, 10, "", 0, 5),
(72, 73, 1.923621196237385, 10, "", 0, 5),
(65, 72, 100, 10, "", 0, 5),
(62, 74, 1.923621196237385, 10, "", 0, 5),
(74, 69, 100, 10, "", 0, 5),
(79, 78, 60, 10, "", 0, 5),
(82, 75, 60, 10, "", 0, 5),
(77, 81, 7.1615287138308048, 10, "", 0, 5),
(83, 84, 1.923621196237385, 10, "", 0, 5),
(76, 83, 100, 10, "", 0, 5),
(73, 85, 1.923621196237385, 10, "", 0, 5),
(85, 80, 100, 10, "", 0, 5),
(90, 89, 60, 10, "", 0, 5),
(93, 86, 60, 10, "", 0, 5),
(88, 92, 7.1615287138308048, 10, "", 0, 5),
(94, 95, 1.923621196237385, 10, "", 0, 5),
(87, 94, 100, 10, "", 0, 5),
(84, 96, 1.923621196237385, 10, "", 0, 5),
(96, 91, 100, 10, "", 0, 5),
(99, 98, 60, 10, "", 0, 5),
(97, 134, 3.5807643569154055, 10, "", 0, 5),
(95, 101, 1.923621196237385, 10, "", 0, 5),
(101, 100, 100, 10, "", 0, 5),
(103, 104, 11.424711064752977, 10, "", 0, 4),
(106, 108, 11.424711064752977, 10, "", 0, 4),
(110, 112, 11.424711064752977, 10, "", 0, 4),
(114, 116, 11.424711064752977, 10, "", 0, 4),
(118, 120, 11.424711064752977, 10, "", 0, 4),
(122, 124, 11.424711064752977, 10, "", 0, 4),
(126, 128, 11.424711064752977, 10, "", 0, 4),
(0, 129, 89.999999999999986, 10, "Нулевой потенциал", 0, 5),
(131, 5, 3.5807643569154024, 10, "", 0, 5),
(2, 136, 85, 10, "", 0, 4),
(135, 102, 85, 10, "", 0, 4),
(138, 163, 80, 10, "", 0, 4),
(164, 159, 80, 10, "", 0, 4),
(141, 165, 80, 10, "", 0, 4),
(145, 166, 80, 10, "", 0, 4),
(149, 167, 80, 10, "", 0, 4),
(153, 168, 80, 10, "", 0, 4),
(157, 169, 80, 10, "", 0, 4),
(161, 170, 80, 10, "", 0, 4),
(170, 155, 80, 10, "", 0, 4),
(169, 151, 80, 10, "", 0, 4),
(168, 147, 80, 10, "", 0, 4),
(167, 143, 80, 10, "", 0, 4),
(166, 139, 80, 10, "", 0, 4),
(165, 137, 80, 10, "", 0, 4),
(105, 142, 85, 10, "", 0, 4),
(140, 107, 85, 10, "", 0, 4),
(109, 146, 85, 10, "", 0, 4),
(144, 111, 85, 10, "", 0, 4),
(113, 150, 85, 10, "", 0, 4),
(148, 115, 85, 10, "", 0, 4),
(117, 154, 85, 10, "", 0, 4),
(152, 119, 85, 10, "", 0, 4),
(121, 158, 85, 10, "", 0, 4),
(156, 123, 85, 10, "", 0, 4),
(125, 162, 85, 10, "", 0, 4),
(160, 127, 85, 10, "", 0, 4),
]
for a, b, angle, max_angle, boundary, hidden, group in _arcs:
x0, y0 = _nodes[a][:2]
x1, y1 = _nodes[b][:2]
mi_addarc(x0, y0, x1, y1, angle, max_angle)
half = math.radians(angle)/2
cx = (x0+x1)/2 - (y1-y0)/(2*math.tan(half))
cy = (y0+y1)/2 + (x1-x0)/(2*math.tan(half))
xm = cx + (x0-cx)*math.cos(half) - (y0-cy)*math.sin(half)
ym = cy + (x0-cx)*math.sin(half) + (y0-cy)*math.cos(half)
mi_selectarcsegment(xm, ym)
mi_setarcsegmentprop(max_angle, boundary, hidden, group)
mi_clearselected()
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 6. Модель неполная: переходите к следующему этапу, не запускайте решение.")

Этап 7 из 11
Метки замкнутых областей
- Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
- В режиме меток добавьте по одной метке в каждую область в координатах таблицы.
- На этом этапе метки намеренно оставлены без материала и цепи. Каждая метка должна лежать строго внутри своего замкнутого контура. Обязательно добавьте метку внешней воздушной области.
- Не запускайте расчёт: присутствие точки метки ещё не назначает физические свойства.
Широкую таблицу можно прокрутить по горизонтали.
| № | x или r, мм | y или z, мм | Будущий материал |
|---|---|---|---|
| 0 | 4,257 | 47,51 | Обмотка статора |
| 1 | 11,56 | 46,07 | Обмотка статора |
| 2 | 20,1 | 43,91 | Обмотка статора |
| 3 | 26,91 | 39,1 | Обмотка статора |
| 4 | 33,25 | 33,53 | Обмотка статора |
| 5 | 39,19 | 26,89 | Обмотка статора |
| 6 | 42,78 | 19,75 | Обмотка статора |
| 7 | 45,11 | 11,91 | Обмотка статора |
| 8 | 45,58 | 3,541 | Обмотка статора |
| 9 | 0,9 | 33,5 | Алюминий |
| 10 | 7,3 | 32 | Алюминий |
| 11 | 15 | 29,6 | Алюминий |
| 12 | 20,2 | 25,8 | Алюминий |
| 13 | 25,8 | 20,6 | Алюминий |
| 14 | 29 | 14 | Алюминий |
| 15 | 31,2 | 6,7 | Алюминий |
| 16 | 31,6 | 0,3 | Алюминий |
| 17 | 40,41 | 3,485 | Воздух |
| 18 | 16 | 16 | Электротехническая сталь |
| 19 | 40 | 40 | Электротехническая сталь |
Сохранённое состояние этапа
Модель после шага 7Встроенный Python: шаг 7
Промежуточный этап построения. Перед расчётом завершите оставшиеся настройки модели.
Посмотреть программу этапа с русскими комментариями
# Асинхронный двигатель: сектор модели
# Шаг 7: Метки замкнутых областей
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(1, "millimeters", "planar", 1e-08, 100, 20, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
mi_addmaterial("Электротехническая сталь", 7000, 7000, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Алюминий", 1, 1, 0, complex(0, 0), 34.450000000000003, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Воздух", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Обмотка статора", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Фаза А", complex(1, 0), 1)
mi_addcircprop("Фаза В", complex(-0.5, 0.8660254037844386), 1)
mi_addcircprop("Фаза С", complex(-0.5, -0.86602540378443904), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
mi_addboundprop("Антипериодичность 1", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 2", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 3", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 4", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
(64.999999999999986, 0, 2),
(12.5, 0, 1),
(39.5, 0.50000000000000089, 0),
(42.250000000000007, 1.9000000000000004, 0),
(53.000000000000007, 1.8999999999999995, 0),
(40.296178009193994, 2.5216389216837634, 0),
(40.931138364509231, 2.5771907545622392, 0),
(53.794513696954262, 4.7064101083735412, 0),
(53.92217954228289, 2.8980257779750325, 0),
(41.278196027198625, 9.2077702371510028, 0),
(51.864879372079862, 11.074488147070504, 0),
(40.121866523698671, 4.5140283178672558, 0),
(40.756826879013907, 4.5695801507457308, 0),
(41.938059102332964, 5.4655007757046121, 0),
(52.524742447214201, 7.3322186856241141, 0),
(39.2461105167299, 9.4806874386102837, 0),
(39.861777922954325, 9.6456550229142834, 0),
(52.599743577379314, 12.217486467925504, 0),
(52.159994619609684, 13.97622843553612, 0),
(53.60621736773362, 6.5094899587674071, 0),
(39.052174955885867, 16.235767035002731, 0),
(49.153870629334385, 19.912483575753672, 0),
(38.72847242652486, 11.412539091188423, 0),
(39.344139832749285, 11.577506675492423, 0),
(40.351851500523402, 12.664935076016279, 0),
(50.45354717397192, 16.341651616767219, 0),
(37.003569815705134, 16.15167006517396, 0),
(37.581237530243349, 16.421040944332027, 0),
(49.679091020631603, 21.165725013894516, 0),
(48.940620499979104, 22.82138613399777, 0),
(51.661457404520604, 15.719218137073556, 0),
(35.63957330989254, 22.770448267190435, 0),
(44.949346400575251, 28.145448267190432, 0),
(36.15833329222373, 17.964285639247255, 0),
(36.736001006761953, 18.233656518405326, 0),
(37.539573309892546, 19.479551732809565, 0),
(46.849346400575257, 24.854551732809568, 0),
(33.636694370539971, 22.331892369946733, 0),
(34.158810252199714, 22.697481846103898, 0),
(45.248964422055025, 29.47085371568998, 0),
(44.234210391605558, 30.973127562956488, 0),
(48.146990200030061, 24.451325826592903, 0),
(31.144081263372399, 28.613260951182344, 0),
(39.379059026901416, 35.523227755312647, 0),
(32.48954149783787, 23.970196458524715, 0),
(33.01165737949762, 24.33578593468188, 0),
(33.586674180181248, 25.70229206733023, 0),
(41.821651943710265, 32.612258871460526, 0),
(29.247784987914571, 27.833571425541475, 0),
(29.698484809835001, 28.284271247461902, 0),
(39.4439709365951, 36.880525440305753, 0),
(38.183766184073562, 38.183766184073562, 0),
(43.169601061864192, 32.440492353839097, 0),
(25.702292067330237, 33.586674180181248, 0),
(32.612258871460533, 41.821651943710265, 0),
(27.833571425541479, 29.247784987914571, 0),
(28.284271247461909, 29.698484809835001, 0),
(28.613260951182351, 31.144081263372399, 0),
(35.523227755312654, 39.379059026901416, 0),
(23.970196458524718, 32.48954149783787, 0),
(24.335785934681887, 33.01165737949762, 0),
(32.440492353839105, 43.169601061864192, 0),
(30.973127562956495, 44.234210391605558, 0),
(36.88052544030576, 39.4439709365951, 0),
(19.479551732809572, 37.539573309892539, 0),
(24.854551732809579, 46.849346400575257, 0),
(22.331892369946736, 33.636694370539963, 0),
(22.697481846103905, 34.158810252199714, 0),
(22.770448267190442, 35.639573309892533, 0),
(28.145448267190442, 44.949346400575251, 0),
(17.964285639247265, 36.158333292223723, 0),
(18.233656518405333, 36.736001006761953, 0),
(24.451325826592914, 48.146990200030054, 0),
(22.821386133997777, 48.940620499979097, 0),
(29.470853715689991, 45.248964422055018, 0),
(12.664935076016283, 40.351851500523402, 0),
(16.341651616767223, 50.453547173971913, 0),
(16.15167006517396, 37.003569815705127, 0),
(16.421040944332031, 37.581237530243349, 0),
(16.235767035002734, 39.052174955885867, 0),
(19.912483575753676, 49.153870629334378, 0),
(11.412539091188426, 38.728472426524853, 0),
(11.577506675492426, 39.344139832749285, 0),
(15.719218137073563, 51.661457404520597, 0),
(13.976228435536129, 52.159994619609684, 0),
(21.165725013894523, 49.679091020631596, 0),
(5.4655007757046157, 41.938059102332964, 0),
(7.3322186856241194, 52.524742447214201, 0),
(9.4806874386102873, 39.2461105167299, 0),
(9.645655022914287, 39.861777922954325, 0),
(9.2077702371510064, 41.278196027198625, 0),
(11.074488147070509, 51.864879372079862, 0),
(4.5140283178672593, 40.121866523698671, 0),
(4.5695801507457343, 40.756826879013907, 0),
(6.5094899587674124, 53.60621736773362, 0),
(4.7064101083735466, 53.794513696954262, 0),
(12.217486467925509, 52.599743577379314, 0),
(2.521638921683766, 40.296178009193994, 0),
(2.5771907545622419, 40.931138364509231, 0),
(1.900000000000003, 42.250000000000007, 0),
(1.9000000000000028, 53.000000000000007, 0),
(2.8980257779750356, 53.92217954228289, 0),
(38.620912998160193, 8.3021129351835086, 0),
(39.996874877920149, 0.49999999999999956, 0),
(39.105330185506482, 8.4126779970777292, 0),
(38.398392064203875, 9.2770408473653312, 0),
(38.882809251550164, 9.3876059092595519, 0),
(35.805212151704346, 16.687923261192342, 0),
(36.252880947953209, 16.903509191097914, 0),
(35.371328412586777, 17.588892129094759, 0),
(35.818997208835654, 17.804478059000331, 0),
(31.194088458416545, 24.236931432185965, 0),
(31.58256088082198, 24.546727851368981, 0),
(30.570598656557816, 25.018762914653994, 0),
(30.959071078963241, 25.328559333837006, 0),
(25.01876291465399, 30.570598656557813, 0),
(25.328559333837006, 30.959071078963248, 0),
(24.236931432185958, 31.194088458416545, 0),
(24.546727851368978, 31.58256088082198, 0),
(17.588892129094752, 35.371328412586777, 0),
(17.804478059000331, 35.818997208835647, 0),
(16.687923261192331, 35.805212151704339, 0),
(16.903509191097903, 36.252880947953209, 0),
(9.2770408473653241, 38.398392064203883, 0),
(9.387605909259543, 38.882809251550171, 0),
(8.3021129351835015, 38.620912998160193, 0),
(8.4126779970777221, 39.105330185506482, 0),
(0.49999999999999289, 39.5, 0),
(0.49999999999999201, 39.996874877920149, 0),
(0, 65, 0),
(39.500000000000014, 0, 0),
(40.375, 0, 0),
(0, 39.500000000000007, 0),
(0, 12.5, 0),
(0, 40.375, 0),
(37.017886023569325, 6.3848347156391787, 0),
(37.510529718423875, 2.0125009921089108, 0),
(24.993968283861083, 5.0300645547891527, 0),
(25.48661197871564, 0.65773083125888521, 0),
(23.248022653531173, 10.465631500339654, 0),
(34.669010950262418, 14.462008149997175, 0),
(24.701250526133904, 6.3125448469828349, 0),
(36.122238822865157, 10.308921496640359, 0),
(20.336324092064675, 15.376407981791775, 0),
(30.581686902726915, 21.81399610762735, 0),
(22.677265228732161, 11.650821505187325, 0),
(32.922628039394397, 18.088409631022898, 0),
(16.404877323527902, 19.516147160748712, 0),
(24.960869375885128, 28.072139213105938, 0),
(19.516147160748712, 16.404877323527902, 0),
(28.072139213105938, 24.960869375885132, 0),
(11.650821505187322, 22.677265228732157, 0),
(18.088409631022895, 32.922628039394397, 0),
(15.376407981791772, 20.336324092064675, 0),
(21.813996107627347, 30.581686902726918, 0),
(6.3125448469828314, 24.701250526133904, 0),
(10.30892149664035, 36.122238822865157, 0),
(10.465631500339647, 23.248022653531173, 0),
(14.462008149997168, 34.669010950262425, 0),
(0.65773083125888121, 25.486611978715636, 0),
(2.0125009921089045, 37.510529718423882, 0),
(5.0300645547891483, 24.993968283861086, 0),
(6.3848347156391716, 37.017886023569318, 0),
(25, 0, 0),
(0, 25, 0),
(24.37319780454559, 5.5630233489078602, 0),
(22.524221697560478, 10.847093477938955, 0),
(19.545787061700747, 15.58724504646834, 0),
(15.587245046468338, 19.545787061700747, 0),
(10.847093477938948, 22.524221697560481, 0),
(5.5630233489078558, 24.37319780454559, 0),
]
for x, y, group in _nodes:
mi_addnode(x, y)
if group:
mi_selectnode(x, y)
mi_setnodeprop('', group)
mi_clearselected()
# Отрезки: индексы узлов, локальный размер, имя границы, видимость, группа.
_segments = [
(103, 2, -1, "", 0, 4),
(3, 4, -1, "", 0, 5),
(5, 6, -1, "", 0, 5),
(10, 9, -1, "", 0, 5),
(11, 12, -1, "", 0, 5),
(13, 14, -1, "", 0, 5),
(15, 16, -1, "", 0, 5),
(21, 20, -1, "", 0, 5),
(22, 23, -1, "", 0, 5),
(24, 25, -1, "", 0, 5),
(26, 27, -1, "", 0, 5),
(32, 31, -1, "", 0, 5),
(34, 33, -1, "", 0, 5),
(36, 35, -1, "", 0, 5),
(37, 38, -1, "", 0, 5),
(43, 42, -1, "", 0, 5),
(44, 45, -1, "", 0, 5),
(47, 46, -1, "", 0, 5),
(49, 48, -1, "", 0, 5),
(54, 53, -1, "", 0, 5),
(55, 56, -1, "", 0, 5),
(57, 58, -1, "", 0, 5),
(59, 60, -1, "", 0, 5),
(65, 64, -1, "", 0, 5),
(67, 66, -1, "", 0, 5),
(69, 68, -1, "", 0, 5),
(70, 71, -1, "", 0, 5),
(75, 76, -1, "", 0, 5),
(77, 78, -1, "", 0, 5),
(79, 80, -1, "", 0, 5),
(81, 82, -1, "", 0, 5),
(86, 87, -1, "", 0, 5),
(89, 88, -1, "", 0, 5),
(91, 90, -1, "", 0, 5),
(92, 93, -1, "", 0, 5),
(97, 98, -1, "", 0, 5),
(100, 99, -1, "", 0, 5),
(102, 104, -1, "", 0, 4),
(106, 105, -1, "", 0, 4),
(108, 107, -1, "", 0, 4),
(109, 110, -1, "", 0, 4),
(111, 112, -1, "", 0, 4),
(114, 113, -1, "", 0, 4),
(116, 115, -1, "", 0, 4),
(118, 117, -1, "", 0, 4),
(120, 119, -1, "", 0, 4),
(121, 122, -1, "", 0, 4),
(123, 124, -1, "", 0, 4),
(125, 126, -1, "", 0, 4),
(127, 128, -1, "", 0, 4),
(2, 130, -1, "", 0, 0),
(102, 105, -1, "", 0, 0),
(107, 109, -1, "", 0, 0),
(111, 113, -1, "", 0, 0),
(115, 117, -1, "", 0, 0),
(121, 119, -1, "", 0, 0),
(123, 125, -1, "", 0, 0),
(6, 12, -1, "", 0, 5),
(23, 16, -1, "", 0, 5),
(27, 34, -1, "", 0, 5),
(45, 38, -1, "", 0, 5),
(56, 49, -1, "", 0, 5),
(60, 67, -1, "", 0, 5),
(78, 71, -1, "", 0, 5),
(89, 82, -1, "", 0, 5),
(93, 98, -1, "", 0, 5),
(131, 0, -1, "Антипериодичность 4", 0, 5),
(127, 132, -1, "", 0, 0),
(134, 129, -1, "Антипериодичность 4", 0, 5),
(135, 137, -1, "", 0, 4),
(138, 136, -1, "", 0, 4),
(140, 139, -1, "", 0, 4),
(142, 141, -1, "", 0, 4),
(144, 143, -1, "", 0, 4),
(146, 145, -1, "", 0, 4),
(148, 147, -1, "", 0, 4),
(150, 149, -1, "", 0, 4),
(152, 151, -1, "", 0, 4),
(154, 153, -1, "", 0, 4),
(156, 155, -1, "", 0, 4),
(158, 157, -1, "", 0, 4),
(160, 159, -1, "", 0, 4),
(161, 162, -1, "", 0, 4),
(132, 164, -1, "Антипериодичность 2", 0, 4),
(164, 133, -1, "Антипериодичность 1", 0, 4),
(163, 1, -1, "Антипериодичность 1", 0, 4),
(130, 163, -1, "Антипериодичность 2", 0, 4),
(134, 132, -1, "Антипериодичность 3", 0, 0),
(131, 130, -1, "Антипериодичность 3", 0, 0),
]
for a, b, size, boundary, hidden, group in _segments:
x0, y0 = _nodes[a][:2]
x1, y1 = _nodes[b][:2]
mi_addsegment(x0, y0, x1, y1)
mi_selectsegment((x0+x1)/2, (y0+y1)/2)
mi_setsegmentprop(boundary, size, 1 if size <= 0 else 0, hidden, group)
mi_clearselected()
# Дуги: угол против часовой стрелки и максимальный угол элемента в градусах.
_arcs = [
(1, 133, 90, 10, "Нулевой потенциал", 0, 4),
(6, 3, 60, 10, "", 0, 5),
(8, 7, 1.923621196237385, 10, "", 0, 5),
(4, 8, 100, 10, "", 0, 5),
(13, 12, 60, 10, "", 0, 5),
(16, 9, 60, 10, "", 0, 5),
(11, 15, 7.1615287138308048, 10, "", 0, 5),
(17, 18, 1.923621196237385, 10, "", 0, 5),
(10, 17, 100, 10, "", 0, 5),
(7, 19, 1.923621196237385, 10, "", 0, 5),
(19, 14, 100, 10, "", 0, 5),
(24, 23, 60, 10, "", 0, 5),
(27, 20, 60, 10, "", 0, 5),
(22, 26, 7.1615287138308048, 10, "", 0, 5),
(28, 29, 1.923621196237385, 10, "", 0, 5),
(21, 28, 100, 10, "", 0, 5),
(18, 30, 1.923621196237385, 10, "", 0, 5),
(30, 25, 100, 10, "", 0, 5),
(35, 34, 60, 10, "", 0, 5),
(38, 31, 60, 10, "", 0, 5),
(33, 37, 7.1615287138308048, 10, "", 0, 5),
(39, 40, 1.923621196237385, 10, "", 0, 5),
(32, 39, 100, 10, "", 0, 5),
(29, 41, 1.923621196237385, 10, "", 0, 5),
(41, 36, 100, 10, "", 0, 5),
(46, 45, 60, 10, "", 0, 5),
(49, 42, 60, 10, "", 0, 5),
(44, 48, 7.1615287138308048, 10, "", 0, 5),
(50, 51, 1.923621196237385, 10, "", 0, 5),
(43, 50, 100, 10, "", 0, 5),
(40, 52, 1.923621196237385, 10, "", 0, 5),
(52, 47, 100, 10, "", 0, 5),
(57, 56, 60, 10, "", 0, 5),
(60, 53, 60, 10, "", 0, 5),
(55, 59, 7.1615287138308048, 10, "", 0, 5),
(61, 62, 1.923621196237385, 10, "", 0, 5),
(54, 61, 100, 10, "", 0, 5),
(51, 63, 1.923621196237385, 10, "", 0, 5),
(63, 58, 100, 10, "", 0, 5),
(68, 67, 60, 10, "", 0, 5),
(71, 64, 60, 10, "", 0, 5),
(66, 70, 7.1615287138308048, 10, "", 0, 5),
(72, 73, 1.923621196237385, 10, "", 0, 5),
(65, 72, 100, 10, "", 0, 5),
(62, 74, 1.923621196237385, 10, "", 0, 5),
(74, 69, 100, 10, "", 0, 5),
(79, 78, 60, 10, "", 0, 5),
(82, 75, 60, 10, "", 0, 5),
(77, 81, 7.1615287138308048, 10, "", 0, 5),
(83, 84, 1.923621196237385, 10, "", 0, 5),
(76, 83, 100, 10, "", 0, 5),
(73, 85, 1.923621196237385, 10, "", 0, 5),
(85, 80, 100, 10, "", 0, 5),
(90, 89, 60, 10, "", 0, 5),
(93, 86, 60, 10, "", 0, 5),
(88, 92, 7.1615287138308048, 10, "", 0, 5),
(94, 95, 1.923621196237385, 10, "", 0, 5),
(87, 94, 100, 10, "", 0, 5),
(84, 96, 1.923621196237385, 10, "", 0, 5),
(96, 91, 100, 10, "", 0, 5),
(99, 98, 60, 10, "", 0, 5),
(97, 134, 3.5807643569154055, 10, "", 0, 5),
(95, 101, 1.923621196237385, 10, "", 0, 5),
(101, 100, 100, 10, "", 0, 5),
(103, 104, 11.424711064752977, 10, "", 0, 4),
(106, 108, 11.424711064752977, 10, "", 0, 4),
(110, 112, 11.424711064752977, 10, "", 0, 4),
(114, 116, 11.424711064752977, 10, "", 0, 4),
(118, 120, 11.424711064752977, 10, "", 0, 4),
(122, 124, 11.424711064752977, 10, "", 0, 4),
(126, 128, 11.424711064752977, 10, "", 0, 4),
(0, 129, 89.999999999999986, 10, "Нулевой потенциал", 0, 5),
(131, 5, 3.5807643569154024, 10, "", 0, 5),
(2, 136, 85, 10, "", 0, 4),
(135, 102, 85, 10, "", 0, 4),
(138, 163, 80, 10, "", 0, 4),
(164, 159, 80, 10, "", 0, 4),
(141, 165, 80, 10, "", 0, 4),
(145, 166, 80, 10, "", 0, 4),
(149, 167, 80, 10, "", 0, 4),
(153, 168, 80, 10, "", 0, 4),
(157, 169, 80, 10, "", 0, 4),
(161, 170, 80, 10, "", 0, 4),
(170, 155, 80, 10, "", 0, 4),
(169, 151, 80, 10, "", 0, 4),
(168, 147, 80, 10, "", 0, 4),
(167, 143, 80, 10, "", 0, 4),
(166, 139, 80, 10, "", 0, 4),
(165, 137, 80, 10, "", 0, 4),
(105, 142, 85, 10, "", 0, 4),
(140, 107, 85, 10, "", 0, 4),
(109, 146, 85, 10, "", 0, 4),
(144, 111, 85, 10, "", 0, 4),
(113, 150, 85, 10, "", 0, 4),
(148, 115, 85, 10, "", 0, 4),
(117, 154, 85, 10, "", 0, 4),
(152, 119, 85, 10, "", 0, 4),
(121, 158, 85, 10, "", 0, 4),
(156, 123, 85, 10, "", 0, 4),
(125, 162, 85, 10, "", 0, 4),
(160, 127, 85, 10, "", 0, 4),
]
for a, b, angle, max_angle, boundary, hidden, group in _arcs:
x0, y0 = _nodes[a][:2]
x1, y1 = _nodes[b][:2]
mi_addarc(x0, y0, x1, y1, angle, max_angle)
half = math.radians(angle)/2
cx = (x0+x1)/2 - (y1-y0)/(2*math.tan(half))
cy = (y0+y1)/2 + (x1-x0)/(2*math.tan(half))
xm = cx + (x0-cx)*math.cos(half) - (y0-cy)*math.sin(half)
ym = cy + (x0-cx)*math.sin(half) + (y0-cy)*math.cos(half)
mi_selectarcsegment(xm, ym)
mi_setarcsegmentprop(max_angle, boundary, hidden, group)
mi_clearselected()
# Метки: положение, материал, размер элемента, цепь, намагничивание, группа, витки.
_labels = [
(4.2569483988724688, 47.509771524701492, "", 0, "", 0, 0, 1),
(11.559064570553259, 46.067863269895426, "", 0, "", 0, 0, 1),
(20.103940404104719, 43.91493573066235, "", 0, "", 0, 0, 1),
(26.910488110825121, 39.103396650893885, "", 0, "", 0, 0, 1),
(33.248833344110707, 33.529764109751085, "", 0, "", 0, 0, 1),
(39.192448850946334, 26.886464123531656, "", 0, "", 0, 0, 1),
(42.783807532247593, 19.74628605696762, "", 0, "", 0, 0, 1),
(45.110007981640621, 11.913739123227387, "", 0, "", 0, 0, 1),
(45.582048954545165, 3.5407362377687077, "", 0, "", 0, 0, 1),
(0.90000000000000524, 33.5, "", 0, "", 0, 0, 1),
(7.3000000000000105, 31.999999999999996, "", 0, "", 0, 0, 1),
(14.999999999999998, 29.600000000000001, "", 0, "", 0, 0, 1),
(20.199999999999992, 25.799999999999997, "", 0, "", 0, 0, 1),
(25.800000000000004, 20.600000000000001, "", 0, "", 0, 0, 1),
(28.999999999999996, 14, "", 0, "", 0, 0, 1),
(31.199999999999992, 6.7000000000000002, "", 0, "", 0, 0, 1),
(31.599999999999994, 0.29999999999999982, "", 0, "", 0, 0, 1),
(40.410014741738578, 3.4852271909404284, "", 0, "", 0, 0, 1),
(16, 16, "", 0, "", 0, 0, 1),
(40, 40, "", 0, "", 0, 0, 1),
]
for x, y, material, size, circuit, direction, group, turns in _labels:
mi_addblocklabel(x, y)
if material:
mi_selectlabel(x, y)
mi_setblockprop(material, 1 if size <= 0 else 0, size, circuit, direction, group, turns)
mi_clearselected()
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 7. Модель неполная: переходите к следующему этапу, не запускайте решение.")

Этап 8 из 11
Назначения материалов и обмоток
- Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
- Выделяйте метки по координатам и открывайте их свойства (Block Label Properties). Назначьте материал, цепь и число витков со знаком из полной таблицы.
- Для магнитов задайте направление намагничивания: число означает угол в градусах; theta и theta+180 — функции координат, поэтому их английские технические идентификаторы сохраняются.
- Восстановите группы: группа 2 используется для выделения ротора или отдельного якоря при вычислении силы/момента, если это предусмотрено вариантом.
- Материалы и обмотки уже назначены, но локальные размеры сетки этого промежуточного файла ещё автоматические. Не запускайте расчёт: сначала перейдите к следующему этапу и восстановите указанные там ограничения сетки.
Широкую таблицу можно прокрутить по горизонтали.
| № | x или r, мм | y или z, мм | Материал | Цепь | Витки со знаком | Намагничивание | Группа |
|---|---|---|---|---|---|---|---|
| 0 | 4,257 | 47,51 | Обмотка статора | Фаза В | 44 | 0^\circ | 3 |
| 1 | 11,56 | 46,07 | Обмотка статора | Фаза В | 44 | 0^\circ | 3 |
| 2 | 20,1 | 43,91 | Обмотка статора | Фаза В | 44 | 0^\circ | 3 |
| 3 | 26,91 | 39,1 | Обмотка статора | Фаза С | -44 | 0^\circ | 2 |
| 4 | 33,25 | 33,53 | Обмотка статора | Фаза С | -44 | 0^\circ | 2 |
| 5 | 39,19 | 26,89 | Обмотка статора | Фаза С | -44 | 0^\circ | 2 |
| 6 | 42,78 | 19,75 | Обмотка статора | Фаза А | 44 | 0^\circ | 1 |
| 7 | 45,11 | 11,91 | Обмотка статора | Фаза А | 44 | 0^\circ | 1 |
| 8 | 45,58 | 3,541 | Обмотка статора | Фаза А | 44 | 0^\circ | 1 |
| 9 | 0,9 | 33,5 | Алюминий | Нет | 1 | 0^\circ | 4 |
| 10 | 7,3 | 32 | Алюминий | Нет | 1 | 0^\circ | 4 |
| 11 | 15 | 29,6 | Алюминий | Нет | 1 | 0^\circ | 4 |
| 12 | 20,2 | 25,8 | Алюминий | Нет | 1 | 0^\circ | 4 |
| 13 | 25,8 | 20,6 | Алюминий | Нет | 1 | 0^\circ | 4 |
| 14 | 29 | 14 | Алюминий | Нет | 1 | 0^\circ | 4 |
| 15 | 31,2 | 6,7 | Алюминий | Нет | 1 | 0^\circ | 4 |
| 16 | 31,6 | 0,3 | Алюминий | Нет | 1 | 0^\circ | 4 |
| 17 | 40,41 | 3,485 | Воздух | Нет | 1 | 0^\circ | 2 |
| 18 | 16 | 16 | Электротехническая сталь | Нет | 1 | 0^\circ | 4 |
| 19 | 40 | 40 | Электротехническая сталь | Нет | 1 | 0^\circ | 5 |
Сохранённое состояние этапа
Модель после шага 8Встроенный Python: шаг 8
Промежуточный этап построения. Перед расчётом завершите оставшиеся настройки модели.
Посмотреть программу этапа с русскими комментариями
# Асинхронный двигатель: сектор модели
# Шаг 8: Назначения материалов и обмоток
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(1, "millimeters", "planar", 1e-08, 100, 20, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
mi_addmaterial("Электротехническая сталь", 7000, 7000, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Алюминий", 1, 1, 0, complex(0, 0), 34.450000000000003, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Воздух", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Обмотка статора", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Фаза А", complex(1, 0), 1)
mi_addcircprop("Фаза В", complex(-0.5, 0.8660254037844386), 1)
mi_addcircprop("Фаза С", complex(-0.5, -0.86602540378443904), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
mi_addboundprop("Антипериодичность 1", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 2", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 3", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 4", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
(64.999999999999986, 0, 2),
(12.5, 0, 1),
(39.5, 0.50000000000000089, 0),
(42.250000000000007, 1.9000000000000004, 0),
(53.000000000000007, 1.8999999999999995, 0),
(40.296178009193994, 2.5216389216837634, 0),
(40.931138364509231, 2.5771907545622392, 0),
(53.794513696954262, 4.7064101083735412, 0),
(53.92217954228289, 2.8980257779750325, 0),
(41.278196027198625, 9.2077702371510028, 0),
(51.864879372079862, 11.074488147070504, 0),
(40.121866523698671, 4.5140283178672558, 0),
(40.756826879013907, 4.5695801507457308, 0),
(41.938059102332964, 5.4655007757046121, 0),
(52.524742447214201, 7.3322186856241141, 0),
(39.2461105167299, 9.4806874386102837, 0),
(39.861777922954325, 9.6456550229142834, 0),
(52.599743577379314, 12.217486467925504, 0),
(52.159994619609684, 13.97622843553612, 0),
(53.60621736773362, 6.5094899587674071, 0),
(39.052174955885867, 16.235767035002731, 0),
(49.153870629334385, 19.912483575753672, 0),
(38.72847242652486, 11.412539091188423, 0),
(39.344139832749285, 11.577506675492423, 0),
(40.351851500523402, 12.664935076016279, 0),
(50.45354717397192, 16.341651616767219, 0),
(37.003569815705134, 16.15167006517396, 0),
(37.581237530243349, 16.421040944332027, 0),
(49.679091020631603, 21.165725013894516, 0),
(48.940620499979104, 22.82138613399777, 0),
(51.661457404520604, 15.719218137073556, 0),
(35.63957330989254, 22.770448267190435, 0),
(44.949346400575251, 28.145448267190432, 0),
(36.15833329222373, 17.964285639247255, 0),
(36.736001006761953, 18.233656518405326, 0),
(37.539573309892546, 19.479551732809565, 0),
(46.849346400575257, 24.854551732809568, 0),
(33.636694370539971, 22.331892369946733, 0),
(34.158810252199714, 22.697481846103898, 0),
(45.248964422055025, 29.47085371568998, 0),
(44.234210391605558, 30.973127562956488, 0),
(48.146990200030061, 24.451325826592903, 0),
(31.144081263372399, 28.613260951182344, 0),
(39.379059026901416, 35.523227755312647, 0),
(32.48954149783787, 23.970196458524715, 0),
(33.01165737949762, 24.33578593468188, 0),
(33.586674180181248, 25.70229206733023, 0),
(41.821651943710265, 32.612258871460526, 0),
(29.247784987914571, 27.833571425541475, 0),
(29.698484809835001, 28.284271247461902, 0),
(39.4439709365951, 36.880525440305753, 0),
(38.183766184073562, 38.183766184073562, 0),
(43.169601061864192, 32.440492353839097, 0),
(25.702292067330237, 33.586674180181248, 0),
(32.612258871460533, 41.821651943710265, 0),
(27.833571425541479, 29.247784987914571, 0),
(28.284271247461909, 29.698484809835001, 0),
(28.613260951182351, 31.144081263372399, 0),
(35.523227755312654, 39.379059026901416, 0),
(23.970196458524718, 32.48954149783787, 0),
(24.335785934681887, 33.01165737949762, 0),
(32.440492353839105, 43.169601061864192, 0),
(30.973127562956495, 44.234210391605558, 0),
(36.88052544030576, 39.4439709365951, 0),
(19.479551732809572, 37.539573309892539, 0),
(24.854551732809579, 46.849346400575257, 0),
(22.331892369946736, 33.636694370539963, 0),
(22.697481846103905, 34.158810252199714, 0),
(22.770448267190442, 35.639573309892533, 0),
(28.145448267190442, 44.949346400575251, 0),
(17.964285639247265, 36.158333292223723, 0),
(18.233656518405333, 36.736001006761953, 0),
(24.451325826592914, 48.146990200030054, 0),
(22.821386133997777, 48.940620499979097, 0),
(29.470853715689991, 45.248964422055018, 0),
(12.664935076016283, 40.351851500523402, 0),
(16.341651616767223, 50.453547173971913, 0),
(16.15167006517396, 37.003569815705127, 0),
(16.421040944332031, 37.581237530243349, 0),
(16.235767035002734, 39.052174955885867, 0),
(19.912483575753676, 49.153870629334378, 0),
(11.412539091188426, 38.728472426524853, 0),
(11.577506675492426, 39.344139832749285, 0),
(15.719218137073563, 51.661457404520597, 0),
(13.976228435536129, 52.159994619609684, 0),
(21.165725013894523, 49.679091020631596, 0),
(5.4655007757046157, 41.938059102332964, 0),
(7.3322186856241194, 52.524742447214201, 0),
(9.4806874386102873, 39.2461105167299, 0),
(9.645655022914287, 39.861777922954325, 0),
(9.2077702371510064, 41.278196027198625, 0),
(11.074488147070509, 51.864879372079862, 0),
(4.5140283178672593, 40.121866523698671, 0),
(4.5695801507457343, 40.756826879013907, 0),
(6.5094899587674124, 53.60621736773362, 0),
(4.7064101083735466, 53.794513696954262, 0),
(12.217486467925509, 52.599743577379314, 0),
(2.521638921683766, 40.296178009193994, 0),
(2.5771907545622419, 40.931138364509231, 0),
(1.900000000000003, 42.250000000000007, 0),
(1.9000000000000028, 53.000000000000007, 0),
(2.8980257779750356, 53.92217954228289, 0),
(38.620912998160193, 8.3021129351835086, 0),
(39.996874877920149, 0.49999999999999956, 0),
(39.105330185506482, 8.4126779970777292, 0),
(38.398392064203875, 9.2770408473653312, 0),
(38.882809251550164, 9.3876059092595519, 0),
(35.805212151704346, 16.687923261192342, 0),
(36.252880947953209, 16.903509191097914, 0),
(35.371328412586777, 17.588892129094759, 0),
(35.818997208835654, 17.804478059000331, 0),
(31.194088458416545, 24.236931432185965, 0),
(31.58256088082198, 24.546727851368981, 0),
(30.570598656557816, 25.018762914653994, 0),
(30.959071078963241, 25.328559333837006, 0),
(25.01876291465399, 30.570598656557813, 0),
(25.328559333837006, 30.959071078963248, 0),
(24.236931432185958, 31.194088458416545, 0),
(24.546727851368978, 31.58256088082198, 0),
(17.588892129094752, 35.371328412586777, 0),
(17.804478059000331, 35.818997208835647, 0),
(16.687923261192331, 35.805212151704339, 0),
(16.903509191097903, 36.252880947953209, 0),
(9.2770408473653241, 38.398392064203883, 0),
(9.387605909259543, 38.882809251550171, 0),
(8.3021129351835015, 38.620912998160193, 0),
(8.4126779970777221, 39.105330185506482, 0),
(0.49999999999999289, 39.5, 0),
(0.49999999999999201, 39.996874877920149, 0),
(0, 65, 0),
(39.500000000000014, 0, 0),
(40.375, 0, 0),
(0, 39.500000000000007, 0),
(0, 12.5, 0),
(0, 40.375, 0),
(37.017886023569325, 6.3848347156391787, 0),
(37.510529718423875, 2.0125009921089108, 0),
(24.993968283861083, 5.0300645547891527, 0),
(25.48661197871564, 0.65773083125888521, 0),
(23.248022653531173, 10.465631500339654, 0),
(34.669010950262418, 14.462008149997175, 0),
(24.701250526133904, 6.3125448469828349, 0),
(36.122238822865157, 10.308921496640359, 0),
(20.336324092064675, 15.376407981791775, 0),
(30.581686902726915, 21.81399610762735, 0),
(22.677265228732161, 11.650821505187325, 0),
(32.922628039394397, 18.088409631022898, 0),
(16.404877323527902, 19.516147160748712, 0),
(24.960869375885128, 28.072139213105938, 0),
(19.516147160748712, 16.404877323527902, 0),
(28.072139213105938, 24.960869375885132, 0),
(11.650821505187322, 22.677265228732157, 0),
(18.088409631022895, 32.922628039394397, 0),
(15.376407981791772, 20.336324092064675, 0),
(21.813996107627347, 30.581686902726918, 0),
(6.3125448469828314, 24.701250526133904, 0),
(10.30892149664035, 36.122238822865157, 0),
(10.465631500339647, 23.248022653531173, 0),
(14.462008149997168, 34.669010950262425, 0),
(0.65773083125888121, 25.486611978715636, 0),
(2.0125009921089045, 37.510529718423882, 0),
(5.0300645547891483, 24.993968283861086, 0),
(6.3848347156391716, 37.017886023569318, 0),
(25, 0, 0),
(0, 25, 0),
(24.37319780454559, 5.5630233489078602, 0),
(22.524221697560478, 10.847093477938955, 0),
(19.545787061700747, 15.58724504646834, 0),
(15.587245046468338, 19.545787061700747, 0),
(10.847093477938948, 22.524221697560481, 0),
(5.5630233489078558, 24.37319780454559, 0),
]
for x, y, group in _nodes:
mi_addnode(x, y)
if group:
mi_selectnode(x, y)
mi_setnodeprop('', group)
mi_clearselected()
# Отрезки: индексы узлов, локальный размер, имя границы, видимость, группа.
_segments = [
(103, 2, -1, "", 0, 4),
(3, 4, -1, "", 0, 5),
(5, 6, -1, "", 0, 5),
(10, 9, -1, "", 0, 5),
(11, 12, -1, "", 0, 5),
(13, 14, -1, "", 0, 5),
(15, 16, -1, "", 0, 5),
(21, 20, -1, "", 0, 5),
(22, 23, -1, "", 0, 5),
(24, 25, -1, "", 0, 5),
(26, 27, -1, "", 0, 5),
(32, 31, -1, "", 0, 5),
(34, 33, -1, "", 0, 5),
(36, 35, -1, "", 0, 5),
(37, 38, -1, "", 0, 5),
(43, 42, -1, "", 0, 5),
(44, 45, -1, "", 0, 5),
(47, 46, -1, "", 0, 5),
(49, 48, -1, "", 0, 5),
(54, 53, -1, "", 0, 5),
(55, 56, -1, "", 0, 5),
(57, 58, -1, "", 0, 5),
(59, 60, -1, "", 0, 5),
(65, 64, -1, "", 0, 5),
(67, 66, -1, "", 0, 5),
(69, 68, -1, "", 0, 5),
(70, 71, -1, "", 0, 5),
(75, 76, -1, "", 0, 5),
(77, 78, -1, "", 0, 5),
(79, 80, -1, "", 0, 5),
(81, 82, -1, "", 0, 5),
(86, 87, -1, "", 0, 5),
(89, 88, -1, "", 0, 5),
(91, 90, -1, "", 0, 5),
(92, 93, -1, "", 0, 5),
(97, 98, -1, "", 0, 5),
(100, 99, -1, "", 0, 5),
(102, 104, -1, "", 0, 4),
(106, 105, -1, "", 0, 4),
(108, 107, -1, "", 0, 4),
(109, 110, -1, "", 0, 4),
(111, 112, -1, "", 0, 4),
(114, 113, -1, "", 0, 4),
(116, 115, -1, "", 0, 4),
(118, 117, -1, "", 0, 4),
(120, 119, -1, "", 0, 4),
(121, 122, -1, "", 0, 4),
(123, 124, -1, "", 0, 4),
(125, 126, -1, "", 0, 4),
(127, 128, -1, "", 0, 4),
(2, 130, -1, "", 0, 0),
(102, 105, -1, "", 0, 0),
(107, 109, -1, "", 0, 0),
(111, 113, -1, "", 0, 0),
(115, 117, -1, "", 0, 0),
(121, 119, -1, "", 0, 0),
(123, 125, -1, "", 0, 0),
(6, 12, -1, "", 0, 5),
(23, 16, -1, "", 0, 5),
(27, 34, -1, "", 0, 5),
(45, 38, -1, "", 0, 5),
(56, 49, -1, "", 0, 5),
(60, 67, -1, "", 0, 5),
(78, 71, -1, "", 0, 5),
(89, 82, -1, "", 0, 5),
(93, 98, -1, "", 0, 5),
(131, 0, -1, "Антипериодичность 4", 0, 5),
(127, 132, -1, "", 0, 0),
(134, 129, -1, "Антипериодичность 4", 0, 5),
(135, 137, -1, "", 0, 4),
(138, 136, -1, "", 0, 4),
(140, 139, -1, "", 0, 4),
(142, 141, -1, "", 0, 4),
(144, 143, -1, "", 0, 4),
(146, 145, -1, "", 0, 4),
(148, 147, -1, "", 0, 4),
(150, 149, -1, "", 0, 4),
(152, 151, -1, "", 0, 4),
(154, 153, -1, "", 0, 4),
(156, 155, -1, "", 0, 4),
(158, 157, -1, "", 0, 4),
(160, 159, -1, "", 0, 4),
(161, 162, -1, "", 0, 4),
(132, 164, -1, "Антипериодичность 2", 0, 4),
(164, 133, -1, "Антипериодичность 1", 0, 4),
(163, 1, -1, "Антипериодичность 1", 0, 4),
(130, 163, -1, "Антипериодичность 2", 0, 4),
(134, 132, -1, "Антипериодичность 3", 0, 0),
(131, 130, -1, "Антипериодичность 3", 0, 0),
]
for a, b, size, boundary, hidden, group in _segments:
x0, y0 = _nodes[a][:2]
x1, y1 = _nodes[b][:2]
mi_addsegment(x0, y0, x1, y1)
mi_selectsegment((x0+x1)/2, (y0+y1)/2)
mi_setsegmentprop(boundary, size, 1 if size <= 0 else 0, hidden, group)
mi_clearselected()
# Дуги: угол против часовой стрелки и максимальный угол элемента в градусах.
_arcs = [
(1, 133, 90, 10, "Нулевой потенциал", 0, 4),
(6, 3, 60, 10, "", 0, 5),
(8, 7, 1.923621196237385, 10, "", 0, 5),
(4, 8, 100, 10, "", 0, 5),
(13, 12, 60, 10, "", 0, 5),
(16, 9, 60, 10, "", 0, 5),
(11, 15, 7.1615287138308048, 10, "", 0, 5),
(17, 18, 1.923621196237385, 10, "", 0, 5),
(10, 17, 100, 10, "", 0, 5),
(7, 19, 1.923621196237385, 10, "", 0, 5),
(19, 14, 100, 10, "", 0, 5),
(24, 23, 60, 10, "", 0, 5),
(27, 20, 60, 10, "", 0, 5),
(22, 26, 7.1615287138308048, 10, "", 0, 5),
(28, 29, 1.923621196237385, 10, "", 0, 5),
(21, 28, 100, 10, "", 0, 5),
(18, 30, 1.923621196237385, 10, "", 0, 5),
(30, 25, 100, 10, "", 0, 5),
(35, 34, 60, 10, "", 0, 5),
(38, 31, 60, 10, "", 0, 5),
(33, 37, 7.1615287138308048, 10, "", 0, 5),
(39, 40, 1.923621196237385, 10, "", 0, 5),
(32, 39, 100, 10, "", 0, 5),
(29, 41, 1.923621196237385, 10, "", 0, 5),
(41, 36, 100, 10, "", 0, 5),
(46, 45, 60, 10, "", 0, 5),
(49, 42, 60, 10, "", 0, 5),
(44, 48, 7.1615287138308048, 10, "", 0, 5),
(50, 51, 1.923621196237385, 10, "", 0, 5),
(43, 50, 100, 10, "", 0, 5),
(40, 52, 1.923621196237385, 10, "", 0, 5),
(52, 47, 100, 10, "", 0, 5),
(57, 56, 60, 10, "", 0, 5),
(60, 53, 60, 10, "", 0, 5),
(55, 59, 7.1615287138308048, 10, "", 0, 5),
(61, 62, 1.923621196237385, 10, "", 0, 5),
(54, 61, 100, 10, "", 0, 5),
(51, 63, 1.923621196237385, 10, "", 0, 5),
(63, 58, 100, 10, "", 0, 5),
(68, 67, 60, 10, "", 0, 5),
(71, 64, 60, 10, "", 0, 5),
(66, 70, 7.1615287138308048, 10, "", 0, 5),
(72, 73, 1.923621196237385, 10, "", 0, 5),
(65, 72, 100, 10, "", 0, 5),
(62, 74, 1.923621196237385, 10, "", 0, 5),
(74, 69, 100, 10, "", 0, 5),
(79, 78, 60, 10, "", 0, 5),
(82, 75, 60, 10, "", 0, 5),
(77, 81, 7.1615287138308048, 10, "", 0, 5),
(83, 84, 1.923621196237385, 10, "", 0, 5),
(76, 83, 100, 10, "", 0, 5),
(73, 85, 1.923621196237385, 10, "", 0, 5),
(85, 80, 100, 10, "", 0, 5),
(90, 89, 60, 10, "", 0, 5),
(93, 86, 60, 10, "", 0, 5),
(88, 92, 7.1615287138308048, 10, "", 0, 5),
(94, 95, 1.923621196237385, 10, "", 0, 5),
(87, 94, 100, 10, "", 0, 5),
(84, 96, 1.923621196237385, 10, "", 0, 5),
(96, 91, 100, 10, "", 0, 5),
(99, 98, 60, 10, "", 0, 5),
(97, 134, 3.5807643569154055, 10, "", 0, 5),
(95, 101, 1.923621196237385, 10, "", 0, 5),
(101, 100, 100, 10, "", 0, 5),
(103, 104, 11.424711064752977, 10, "", 0, 4),
(106, 108, 11.424711064752977, 10, "", 0, 4),
(110, 112, 11.424711064752977, 10, "", 0, 4),
(114, 116, 11.424711064752977, 10, "", 0, 4),
(118, 120, 11.424711064752977, 10, "", 0, 4),
(122, 124, 11.424711064752977, 10, "", 0, 4),
(126, 128, 11.424711064752977, 10, "", 0, 4),
(0, 129, 89.999999999999986, 10, "Нулевой потенциал", 0, 5),
(131, 5, 3.5807643569154024, 10, "", 0, 5),
(2, 136, 85, 10, "", 0, 4),
(135, 102, 85, 10, "", 0, 4),
(138, 163, 80, 10, "", 0, 4),
(164, 159, 80, 10, "", 0, 4),
(141, 165, 80, 10, "", 0, 4),
(145, 166, 80, 10, "", 0, 4),
(149, 167, 80, 10, "", 0, 4),
(153, 168, 80, 10, "", 0, 4),
(157, 169, 80, 10, "", 0, 4),
(161, 170, 80, 10, "", 0, 4),
(170, 155, 80, 10, "", 0, 4),
(169, 151, 80, 10, "", 0, 4),
(168, 147, 80, 10, "", 0, 4),
(167, 143, 80, 10, "", 0, 4),
(166, 139, 80, 10, "", 0, 4),
(165, 137, 80, 10, "", 0, 4),
(105, 142, 85, 10, "", 0, 4),
(140, 107, 85, 10, "", 0, 4),
(109, 146, 85, 10, "", 0, 4),
(144, 111, 85, 10, "", 0, 4),
(113, 150, 85, 10, "", 0, 4),
(148, 115, 85, 10, "", 0, 4),
(117, 154, 85, 10, "", 0, 4),
(152, 119, 85, 10, "", 0, 4),
(121, 158, 85, 10, "", 0, 4),
(156, 123, 85, 10, "", 0, 4),
(125, 162, 85, 10, "", 0, 4),
(160, 127, 85, 10, "", 0, 4),
]
for a, b, angle, max_angle, boundary, hidden, group in _arcs:
x0, y0 = _nodes[a][:2]
x1, y1 = _nodes[b][:2]
mi_addarc(x0, y0, x1, y1, angle, max_angle)
half = math.radians(angle)/2
cx = (x0+x1)/2 - (y1-y0)/(2*math.tan(half))
cy = (y0+y1)/2 + (x1-x0)/(2*math.tan(half))
xm = cx + (x0-cx)*math.cos(half) - (y0-cy)*math.sin(half)
ym = cy + (x0-cx)*math.sin(half) + (y0-cy)*math.cos(half)
mi_selectarcsegment(xm, ym)
mi_setarcsegmentprop(max_angle, boundary, hidden, group)
mi_clearselected()
# Метки: положение, материал, размер элемента, цепь, намагничивание, группа, витки.
_labels = [
(4.2569483988724688, 47.509771524701492, "Обмотка статора", 0, "Фаза В", 0, 3, 44),
(11.559064570553259, 46.067863269895426, "Обмотка статора", 0, "Фаза В", 0, 3, 44),
(20.103940404104719, 43.91493573066235, "Обмотка статора", 0, "Фаза В", 0, 3, 44),
(26.910488110825121, 39.103396650893885, "Обмотка статора", 0, "Фаза С", 0, 2, -44),
(33.248833344110707, 33.529764109751085, "Обмотка статора", 0, "Фаза С", 0, 2, -44),
(39.192448850946334, 26.886464123531656, "Обмотка статора", 0, "Фаза С", 0, 2, -44),
(42.783807532247593, 19.74628605696762, "Обмотка статора", 0, "Фаза А", 0, 1, 44),
(45.110007981640621, 11.913739123227387, "Обмотка статора", 0, "Фаза А", 0, 1, 44),
(45.582048954545165, 3.5407362377687077, "Обмотка статора", 0, "Фаза А", 0, 1, 44),
(0.90000000000000524, 33.5, "Алюминий", 0, "", 0, 4, 1),
(7.3000000000000105, 31.999999999999996, "Алюминий", 0, "", 0, 4, 1),
(14.999999999999998, 29.600000000000001, "Алюминий", 0, "", 0, 4, 1),
(20.199999999999992, 25.799999999999997, "Алюминий", 0, "", 0, 4, 1),
(25.800000000000004, 20.600000000000001, "Алюминий", 0, "", 0, 4, 1),
(28.999999999999996, 14, "Алюминий", 0, "", 0, 4, 1),
(31.199999999999992, 6.7000000000000002, "Алюминий", 0, "", 0, 4, 1),
(31.599999999999994, 0.29999999999999982, "Алюминий", 0, "", 0, 4, 1),
(40.410014741738578, 3.4852271909404284, "Воздух", 0, "", 0, 2, 1),
(16, 16, "Электротехническая сталь", 0, "", 0, 4, 1),
(40, 40, "Электротехническая сталь", 0, "", 0, 5, 1),
]
for x, y, material, size, circuit, direction, group, turns in _labels:
mi_addblocklabel(x, y)
if material:
mi_selectlabel(x, y)
mi_setblockprop(material, 1 if size <= 0 else 0, size, circuit, direction, group, turns)
mi_clearselected()
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 8. Модель неполная: переходите к следующему этапу, не запускайте решение.")

Этап 9 из 11
Локальные размеры сетки и готовая модель
- Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
- Откройте свойства каждой метки; снимите Auto mesh для положительного размера и укажите значение в миллиметрах. Нулевой либо отрицательный размер означает автоматический выбор.
- Проверьте ограничения длины на отрезках и угла на дугах по отдельным таблицам. Для дуги ограничение задаётся в градусах, а не в миллиметрах.
- Сверьте глобальный минимальный угол, умную сетку, материалы, токи, границы и все назначения. Теперь файл содержит полное состояние проверенного исходного варианта.
- Сохраните собственную рабочую копию через «Файл → Сохранить как». Изменённая пользователем копия должна рассчитываться заново; унаследованное решение ниже относится к неизменённому эталону.
Широкую таблицу можно прокрутить по горизонтали.
| № метки | Материал | Размер элемента, мм | Режим |
|---|---|---|---|
| 0 | Обмотка статора | 1 | заданный |
| 1 | Обмотка статора | 1 | заданный |
| 2 | Обмотка статора | 1 | заданный |
| 3 | Обмотка статора | 1 | заданный |
| 4 | Обмотка статора | 1 | заданный |
| 5 | Обмотка статора | 1 | заданный |
| 6 | Обмотка статора | 1 | заданный |
| 7 | Обмотка статора | 1 | заданный |
| 8 | Обмотка статора | 1 | заданный |
| 9 | Алюминий | 1 | заданный |
| 10 | Алюминий | 1 | заданный |
| 11 | Алюминий | 1 | заданный |
| 12 | Алюминий | 1 | заданный |
| 13 | Алюминий | 1 | заданный |
| 14 | Алюминий | 1 | заданный |
| 15 | Алюминий | 1 | заданный |
| 16 | Алюминий | 1 | заданный |
| 17 | Воздух | 0,1 | заданный |
| 18 | Электротехническая сталь | 1 | заданный |
| 19 | Электротехническая сталь | 1 | заданный |
Широкую таблицу можно прокрутить по горизонтали.
| № отрезка | Максимальная длина, мм | Режим |
|---|---|---|
| 0 | -1 | автоматический |
| 1 | -1 | автоматический |
| 2 | -1 | автоматический |
| 3 | -1 | автоматический |
| 4 | -1 | автоматический |
| 5 | -1 | автоматический |
| 6 | -1 | автоматический |
| 7 | -1 | автоматический |
| 8 | -1 | автоматический |
| 9 | -1 | автоматический |
| 10 | -1 | автоматический |
| 11 | -1 | автоматический |
| 12 | -1 | автоматический |
| 13 | -1 | автоматический |
| 14 | -1 | автоматический |
| 15 | -1 | автоматический |
| 16 | -1 | автоматический |
| 17 | -1 | автоматический |
| 18 | -1 | автоматический |
| 19 | -1 | автоматический |
| 20 | -1 | автоматический |
| 21 | -1 | автоматический |
| 22 | -1 | автоматический |
| 23 | -1 | автоматический |
| 24 | -1 | автоматический |
| 25 | -1 | автоматический |
| 26 | -1 | автоматический |
| 27 | -1 | автоматический |
| 28 | -1 | автоматический |
| 29 | -1 | автоматический |
| 30 | -1 | автоматический |
| 31 | -1 | автоматический |
| 32 | -1 | автоматический |
| 33 | -1 | автоматический |
| 34 | -1 | автоматический |
| 35 | -1 | автоматический |
| 36 | -1 | автоматический |
| 37 | -1 | автоматический |
| 38 | -1 | автоматический |
| 39 | -1 | автоматический |
| 40 | -1 | автоматический |
| 41 | -1 | автоматический |
| 42 | -1 | автоматический |
| 43 | -1 | автоматический |
| 44 | -1 | автоматический |
| 45 | -1 | автоматический |
| 46 | -1 | автоматический |
| 47 | -1 | автоматический |
| 48 | -1 | автоматический |
| 49 | -1 | автоматический |
| 50 | -1 | автоматический |
| 51 | -1 | автоматический |
| 52 | -1 | автоматический |
| 53 | -1 | автоматический |
| 54 | -1 | автоматический |
| 55 | -1 | автоматический |
| 56 | -1 | автоматический |
| 57 | -1 | автоматический |
| 58 | -1 | автоматический |
| 59 | -1 | автоматический |
| 60 | -1 | автоматический |
| 61 | -1 | автоматический |
| 62 | -1 | автоматический |
| 63 | -1 | автоматический |
| 64 | -1 | автоматический |
| 65 | -1 | автоматический |
| 66 | -1 | автоматический |
| 67 | -1 | автоматический |
| 68 | -1 | автоматический |
| 69 | -1 | автоматический |
| 70 | -1 | автоматический |
| 71 | -1 | автоматический |
| 72 | -1 | автоматический |
| 73 | -1 | автоматический |
| 74 | -1 | автоматический |
| 75 | -1 | автоматический |
| 76 | -1 | автоматический |
| 77 | -1 | автоматический |
| 78 | -1 | автоматический |
| 79 | -1 | автоматический |
| 80 | -1 | автоматический |
| 81 | -1 | автоматический |
| 82 | -1 | автоматический |
| 83 | -1 | автоматический |
| 84 | -1 | автоматический |
| 85 | -1 | автоматический |
| 86 | -1 | автоматический |
| 87 | -1 | автоматический |
| 88 | -1 | автоматический |
| № дуги | Максимальный угол элемента, {}^\circ |
|---|---|
| 0 | 2,5 |
| 1 | 10 |
| 2 | 10 |
| 3 | 10 |
| 4 | 10 |
| 5 | 10 |
| 6 | 1 |
| 7 | 10 |
| 8 | 10 |
| 9 | 10 |
| 10 | 10 |
| 11 | 10 |
| 12 | 10 |
| 13 | 1 |
| 14 | 10 |
| 15 | 10 |
| 16 | 10 |
| 17 | 10 |
| 18 | 10 |
| 19 | 10 |
| 20 | 1 |
| 21 | 10 |
| 22 | 10 |
| 23 | 10 |
| 24 | 10 |
| 25 | 10 |
| 26 | 10 |
| 27 | 1 |
| 28 | 10 |
| 29 | 10 |
| 30 | 10 |
| 31 | 10 |
| 32 | 10 |
| 33 | 10 |
| 34 | 1 |
| 35 | 10 |
| 36 | 10 |
| 37 | 10 |
| 38 | 10 |
| 39 | 10 |
| 40 | 10 |
| 41 | 1 |
| 42 | 10 |
| 43 | 10 |
| 44 | 10 |
| 45 | 10 |
| 46 | 10 |
| 47 | 10 |
| 48 | 1 |
| 49 | 10 |
| 50 | 10 |
| 51 | 10 |
| 52 | 10 |
| 53 | 10 |
| 54 | 10 |
| 55 | 1 |
| 56 | 10 |
| 57 | 10 |
| 58 | 10 |
| 59 | 10 |
| 60 | 10 |
| 61 | 1 |
| 62 | 10 |
| 63 | 10 |
| 64 | 1 |
| 65 | 1 |
| 66 | 1 |
| 67 | 1 |
| 68 | 1 |
| 69 | 1 |
| 70 | 1 |
| 71 | 0,8257 |
| 72 | 1 |
| 73 | 10 |
| 74 | 10 |
| 75 | 10 |
| 76 | 10 |
| 77 | 10 |
| 78 | 10 |
| 79 | 10 |
| 80 | 10 |
| 81 | 10 |
| 82 | 10 |
| 83 | 10 |
| 84 | 10 |
| 85 | 10 |
| 86 | 10 |
| 87 | 10 |
| 88 | 10 |
| 89 | 10 |
| 90 | 10 |
| 91 | 10 |
| 92 | 10 |
| 93 | 10 |
| 94 | 10 |
| 95 | 10 |
| 96 | 10 |
| 97 | 10 |
| 98 | 10 |
| 99 | 10 |
| 100 | 10 |
Сохранённое состояние этапа
Модель после шага 9Встроенный Python: шаг 9
Параметры этого файла подготовлены для расчёта.
Посмотреть программу этапа с русскими комментариями
# Асинхронный двигатель: сектор модели
# Шаг 9: Локальные размеры сетки и готовая модель
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(1, "millimeters", "planar", 1e-08, 100, 20, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
mi_addmaterial("Электротехническая сталь", 7000, 7000, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Алюминий", 1, 1, 0, complex(0, 0), 34.450000000000003, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Воздух", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Обмотка статора", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Фаза А", complex(1, 0), 1)
mi_addcircprop("Фаза В", complex(-0.5, 0.8660254037844386), 1)
mi_addcircprop("Фаза С", complex(-0.5, -0.86602540378443904), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
mi_addboundprop("Антипериодичность 1", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 2", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 3", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
mi_addboundprop("Антипериодичность 4", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 5, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
(64.999999999999986, 0, 2),
(12.5, 0, 1),
(39.5, 0.50000000000000089, 0),
(42.250000000000007, 1.9000000000000004, 0),
(53.000000000000007, 1.8999999999999995, 0),
(40.296178009193994, 2.5216389216837634, 0),
(40.931138364509231, 2.5771907545622392, 0),
(53.794513696954262, 4.7064101083735412, 0),
(53.92217954228289, 2.8980257779750325, 0),
(41.278196027198625, 9.2077702371510028, 0),
(51.864879372079862, 11.074488147070504, 0),
(40.121866523698671, 4.5140283178672558, 0),
(40.756826879013907, 4.5695801507457308, 0),
(41.938059102332964, 5.4655007757046121, 0),
(52.524742447214201, 7.3322186856241141, 0),
(39.2461105167299, 9.4806874386102837, 0),
(39.861777922954325, 9.6456550229142834, 0),
(52.599743577379314, 12.217486467925504, 0),
(52.159994619609684, 13.97622843553612, 0),
(53.60621736773362, 6.5094899587674071, 0),
(39.052174955885867, 16.235767035002731, 0),
(49.153870629334385, 19.912483575753672, 0),
(38.72847242652486, 11.412539091188423, 0),
(39.344139832749285, 11.577506675492423, 0),
(40.351851500523402, 12.664935076016279, 0),
(50.45354717397192, 16.341651616767219, 0),
(37.003569815705134, 16.15167006517396, 0),
(37.581237530243349, 16.421040944332027, 0),
(49.679091020631603, 21.165725013894516, 0),
(48.940620499979104, 22.82138613399777, 0),
(51.661457404520604, 15.719218137073556, 0),
(35.63957330989254, 22.770448267190435, 0),
(44.949346400575251, 28.145448267190432, 0),
(36.15833329222373, 17.964285639247255, 0),
(36.736001006761953, 18.233656518405326, 0),
(37.539573309892546, 19.479551732809565, 0),
(46.849346400575257, 24.854551732809568, 0),
(33.636694370539971, 22.331892369946733, 0),
(34.158810252199714, 22.697481846103898, 0),
(45.248964422055025, 29.47085371568998, 0),
(44.234210391605558, 30.973127562956488, 0),
(48.146990200030061, 24.451325826592903, 0),
(31.144081263372399, 28.613260951182344, 0),
(39.379059026901416, 35.523227755312647, 0),
(32.48954149783787, 23.970196458524715, 0),
(33.01165737949762, 24.33578593468188, 0),
(33.586674180181248, 25.70229206733023, 0),
(41.821651943710265, 32.612258871460526, 0),
(29.247784987914571, 27.833571425541475, 0),
(29.698484809835001, 28.284271247461902, 0),
(39.4439709365951, 36.880525440305753, 0),
(38.183766184073562, 38.183766184073562, 0),
(43.169601061864192, 32.440492353839097, 0),
(25.702292067330237, 33.586674180181248, 0),
(32.612258871460533, 41.821651943710265, 0),
(27.833571425541479, 29.247784987914571, 0),
(28.284271247461909, 29.698484809835001, 0),
(28.613260951182351, 31.144081263372399, 0),
(35.523227755312654, 39.379059026901416, 0),
(23.970196458524718, 32.48954149783787, 0),
(24.335785934681887, 33.01165737949762, 0),
(32.440492353839105, 43.169601061864192, 0),
(30.973127562956495, 44.234210391605558, 0),
(36.88052544030576, 39.4439709365951, 0),
(19.479551732809572, 37.539573309892539, 0),
(24.854551732809579, 46.849346400575257, 0),
(22.331892369946736, 33.636694370539963, 0),
(22.697481846103905, 34.158810252199714, 0),
(22.770448267190442, 35.639573309892533, 0),
(28.145448267190442, 44.949346400575251, 0),
(17.964285639247265, 36.158333292223723, 0),
(18.233656518405333, 36.736001006761953, 0),
(24.451325826592914, 48.146990200030054, 0),
(22.821386133997777, 48.940620499979097, 0),
(29.470853715689991, 45.248964422055018, 0),
(12.664935076016283, 40.351851500523402, 0),
(16.341651616767223, 50.453547173971913, 0),
(16.15167006517396, 37.003569815705127, 0),
(16.421040944332031, 37.581237530243349, 0),
(16.235767035002734, 39.052174955885867, 0),
(19.912483575753676, 49.153870629334378, 0),
(11.412539091188426, 38.728472426524853, 0),
(11.577506675492426, 39.344139832749285, 0),
(15.719218137073563, 51.661457404520597, 0),
(13.976228435536129, 52.159994619609684, 0),
(21.165725013894523, 49.679091020631596, 0),
(5.4655007757046157, 41.938059102332964, 0),
(7.3322186856241194, 52.524742447214201, 0),
(9.4806874386102873, 39.2461105167299, 0),
(9.645655022914287, 39.861777922954325, 0),
(9.2077702371510064, 41.278196027198625, 0),
(11.074488147070509, 51.864879372079862, 0),
(4.5140283178672593, 40.121866523698671, 0),
(4.5695801507457343, 40.756826879013907, 0),
(6.5094899587674124, 53.60621736773362, 0),
(4.7064101083735466, 53.794513696954262, 0),
(12.217486467925509, 52.599743577379314, 0),
(2.521638921683766, 40.296178009193994, 0),
(2.5771907545622419, 40.931138364509231, 0),
(1.900000000000003, 42.250000000000007, 0),
(1.9000000000000028, 53.000000000000007, 0),
(2.8980257779750356, 53.92217954228289, 0),
(38.620912998160193, 8.3021129351835086, 0),
(39.996874877920149, 0.49999999999999956, 0),
(39.105330185506482, 8.4126779970777292, 0),
(38.398392064203875, 9.2770408473653312, 0),
(38.882809251550164, 9.3876059092595519, 0),
(35.805212151704346, 16.687923261192342, 0),
(36.252880947953209, 16.903509191097914, 0),
(35.371328412586777, 17.588892129094759, 0),
(35.818997208835654, 17.804478059000331, 0),
(31.194088458416545, 24.236931432185965, 0),
(31.58256088082198, 24.546727851368981, 0),
(30.570598656557816, 25.018762914653994, 0),
(30.959071078963241, 25.328559333837006, 0),
(25.01876291465399, 30.570598656557813, 0),
(25.328559333837006, 30.959071078963248, 0),
(24.236931432185958, 31.194088458416545, 0),
(24.546727851368978, 31.58256088082198, 0),
(17.588892129094752, 35.371328412586777, 0),
(17.804478059000331, 35.818997208835647, 0),
(16.687923261192331, 35.805212151704339, 0),
(16.903509191097903, 36.252880947953209, 0),
(9.2770408473653241, 38.398392064203883, 0),
(9.387605909259543, 38.882809251550171, 0),
(8.3021129351835015, 38.620912998160193, 0),
(8.4126779970777221, 39.105330185506482, 0),
(0.49999999999999289, 39.5, 0),
(0.49999999999999201, 39.996874877920149, 0),
(0, 65, 0),
(39.500000000000014, 0, 0),
(40.375, 0, 0),
(0, 39.500000000000007, 0),
(0, 12.5, 0),
(0, 40.375, 0),
(37.017886023569325, 6.3848347156391787, 0),
(37.510529718423875, 2.0125009921089108, 0),
(24.993968283861083, 5.0300645547891527, 0),
(25.48661197871564, 0.65773083125888521, 0),
(23.248022653531173, 10.465631500339654, 0),
(34.669010950262418, 14.462008149997175, 0),
(24.701250526133904, 6.3125448469828349, 0),
(36.122238822865157, 10.308921496640359, 0),
(20.336324092064675, 15.376407981791775, 0),
(30.581686902726915, 21.81399610762735, 0),
(22.677265228732161, 11.650821505187325, 0),
(32.922628039394397, 18.088409631022898, 0),
(16.404877323527902, 19.516147160748712, 0),
(24.960869375885128, 28.072139213105938, 0),
(19.516147160748712, 16.404877323527902, 0),
(28.072139213105938, 24.960869375885132, 0),
(11.650821505187322, 22.677265228732157, 0),
(18.088409631022895, 32.922628039394397, 0),
(15.376407981791772, 20.336324092064675, 0),
(21.813996107627347, 30.581686902726918, 0),
(6.3125448469828314, 24.701250526133904, 0),
(10.30892149664035, 36.122238822865157, 0),
(10.465631500339647, 23.248022653531173, 0),
(14.462008149997168, 34.669010950262425, 0),
(0.65773083125888121, 25.486611978715636, 0),
(2.0125009921089045, 37.510529718423882, 0),
(5.0300645547891483, 24.993968283861086, 0),
(6.3848347156391716, 37.017886023569318, 0),
(25, 0, 0),
(0, 25, 0),
(24.37319780454559, 5.5630233489078602, 0),
(22.524221697560478, 10.847093477938955, 0),
(19.545787061700747, 15.58724504646834, 0),
(15.587245046468338, 19.545787061700747, 0),
(10.847093477938948, 22.524221697560481, 0),
(5.5630233489078558, 24.37319780454559, 0),
]
for x, y, group in _nodes:
mi_addnode(x, y)
if group:
mi_selectnode(x, y)
mi_setnodeprop('', group)
mi_clearselected()
# Отрезки: индексы узлов, локальный размер, имя границы, видимость, группа.
_segments = [
(103, 2, -1, "", 0, 4),
(3, 4, -1, "", 0, 5),
(5, 6, -1, "", 0, 5),
(10, 9, -1, "", 0, 5),
(11, 12, -1, "", 0, 5),
(13, 14, -1, "", 0, 5),
(15, 16, -1, "", 0, 5),
(21, 20, -1, "", 0, 5),
(22, 23, -1, "", 0, 5),
(24, 25, -1, "", 0, 5),
(26, 27, -1, "", 0, 5),
(32, 31, -1, "", 0, 5),
(34, 33, -1, "", 0, 5),
(36, 35, -1, "", 0, 5),
(37, 38, -1, "", 0, 5),
(43, 42, -1, "", 0, 5),
(44, 45, -1, "", 0, 5),
(47, 46, -1, "", 0, 5),
(49, 48, -1, "", 0, 5),
(54, 53, -1, "", 0, 5),
(55, 56, -1, "", 0, 5),
(57, 58, -1, "", 0, 5),
(59, 60, -1, "", 0, 5),
(65, 64, -1, "", 0, 5),
(67, 66, -1, "", 0, 5),
(69, 68, -1, "", 0, 5),
(70, 71, -1, "", 0, 5),
(75, 76, -1, "", 0, 5),
(77, 78, -1, "", 0, 5),
(79, 80, -1, "", 0, 5),
(81, 82, -1, "", 0, 5),
(86, 87, -1, "", 0, 5),
(89, 88, -1, "", 0, 5),
(91, 90, -1, "", 0, 5),
(92, 93, -1, "", 0, 5),
(97, 98, -1, "", 0, 5),
(100, 99, -1, "", 0, 5),
(102, 104, -1, "", 0, 4),
(106, 105, -1, "", 0, 4),
(108, 107, -1, "", 0, 4),
(109, 110, -1, "", 0, 4),
(111, 112, -1, "", 0, 4),
(114, 113, -1, "", 0, 4),
(116, 115, -1, "", 0, 4),
(118, 117, -1, "", 0, 4),
(120, 119, -1, "", 0, 4),
(121, 122, -1, "", 0, 4),
(123, 124, -1, "", 0, 4),
(125, 126, -1, "", 0, 4),
(127, 128, -1, "", 0, 4),
(2, 130, -1, "", 0, 0),
(102, 105, -1, "", 0, 0),
(107, 109, -1, "", 0, 0),
(111, 113, -1, "", 0, 0),
(115, 117, -1, "", 0, 0),
(121, 119, -1, "", 0, 0),
(123, 125, -1, "", 0, 0),
(6, 12, -1, "", 0, 5),
(23, 16, -1, "", 0, 5),
(27, 34, -1, "", 0, 5),
(45, 38, -1, "", 0, 5),
(56, 49, -1, "", 0, 5),
(60, 67, -1, "", 0, 5),
(78, 71, -1, "", 0, 5),
(89, 82, -1, "", 0, 5),
(93, 98, -1, "", 0, 5),
(131, 0, -1, "Антипериодичность 4", 0, 5),
(127, 132, -1, "", 0, 0),
(134, 129, -1, "Антипериодичность 4", 0, 5),
(135, 137, -1, "", 0, 4),
(138, 136, -1, "", 0, 4),
(140, 139, -1, "", 0, 4),
(142, 141, -1, "", 0, 4),
(144, 143, -1, "", 0, 4),
(146, 145, -1, "", 0, 4),
(148, 147, -1, "", 0, 4),
(150, 149, -1, "", 0, 4),
(152, 151, -1, "", 0, 4),
(154, 153, -1, "", 0, 4),
(156, 155, -1, "", 0, 4),
(158, 157, -1, "", 0, 4),
(160, 159, -1, "", 0, 4),
(161, 162, -1, "", 0, 4),
(132, 164, -1, "Антипериодичность 2", 0, 4),
(164, 133, -1, "Антипериодичность 1", 0, 4),
(163, 1, -1, "Антипериодичность 1", 0, 4),
(130, 163, -1, "Антипериодичность 2", 0, 4),
(134, 132, -1, "Антипериодичность 3", 0, 0),
(131, 130, -1, "Антипериодичность 3", 0, 0),
]
for a, b, size, boundary, hidden, group in _segments:
x0, y0 = _nodes[a][:2]
x1, y1 = _nodes[b][:2]
mi_addsegment(x0, y0, x1, y1)
mi_selectsegment((x0+x1)/2, (y0+y1)/2)
mi_setsegmentprop(boundary, size, 1 if size <= 0 else 0, hidden, group)
mi_clearselected()
# Дуги: угол против часовой стрелки и максимальный угол элемента в градусах.
_arcs = [
(1, 133, 90, 2.5, "Нулевой потенциал", 0, 4),
(6, 3, 60, 10, "", 0, 5),
(8, 7, 1.923621196237385, 10, "", 0, 5),
(4, 8, 100, 10, "", 0, 5),
(13, 12, 60, 10, "", 0, 5),
(16, 9, 60, 10, "", 0, 5),
(11, 15, 7.1615287138308048, 1, "", 0, 5),
(17, 18, 1.923621196237385, 10, "", 0, 5),
(10, 17, 100, 10, "", 0, 5),
(7, 19, 1.923621196237385, 10, "", 0, 5),
(19, 14, 100, 10, "", 0, 5),
(24, 23, 60, 10, "", 0, 5),
(27, 20, 60, 10, "", 0, 5),
(22, 26, 7.1615287138308048, 1, "", 0, 5),
(28, 29, 1.923621196237385, 10, "", 0, 5),
(21, 28, 100, 10, "", 0, 5),
(18, 30, 1.923621196237385, 10, "", 0, 5),
(30, 25, 100, 10, "", 0, 5),
(35, 34, 60, 10, "", 0, 5),
(38, 31, 60, 10, "", 0, 5),
(33, 37, 7.1615287138308048, 1, "", 0, 5),
(39, 40, 1.923621196237385, 10, "", 0, 5),
(32, 39, 100, 10, "", 0, 5),
(29, 41, 1.923621196237385, 10, "", 0, 5),
(41, 36, 100, 10, "", 0, 5),
(46, 45, 60, 10, "", 0, 5),
(49, 42, 60, 10, "", 0, 5),
(44, 48, 7.1615287138308048, 1, "", 0, 5),
(50, 51, 1.923621196237385, 10, "", 0, 5),
(43, 50, 100, 10, "", 0, 5),
(40, 52, 1.923621196237385, 10, "", 0, 5),
(52, 47, 100, 10, "", 0, 5),
(57, 56, 60, 10, "", 0, 5),
(60, 53, 60, 10, "", 0, 5),
(55, 59, 7.1615287138308048, 1, "", 0, 5),
(61, 62, 1.923621196237385, 10, "", 0, 5),
(54, 61, 100, 10, "", 0, 5),
(51, 63, 1.923621196237385, 10, "", 0, 5),
(63, 58, 100, 10, "", 0, 5),
(68, 67, 60, 10, "", 0, 5),
(71, 64, 60, 10, "", 0, 5),
(66, 70, 7.1615287138308048, 1, "", 0, 5),
(72, 73, 1.923621196237385, 10, "", 0, 5),
(65, 72, 100, 10, "", 0, 5),
(62, 74, 1.923621196237385, 10, "", 0, 5),
(74, 69, 100, 10, "", 0, 5),
(79, 78, 60, 10, "", 0, 5),
(82, 75, 60, 10, "", 0, 5),
(77, 81, 7.1615287138308048, 1, "", 0, 5),
(83, 84, 1.923621196237385, 10, "", 0, 5),
(76, 83, 100, 10, "", 0, 5),
(73, 85, 1.923621196237385, 10, "", 0, 5),
(85, 80, 100, 10, "", 0, 5),
(90, 89, 60, 10, "", 0, 5),
(93, 86, 60, 10, "", 0, 5),
(88, 92, 7.1615287138308048, 1, "", 0, 5),
(94, 95, 1.923621196237385, 10, "", 0, 5),
(87, 94, 100, 10, "", 0, 5),
(84, 96, 1.923621196237385, 10, "", 0, 5),
(96, 91, 100, 10, "", 0, 5),
(99, 98, 60, 10, "", 0, 5),
(97, 134, 3.5807643569154055, 1, "", 0, 5),
(95, 101, 1.923621196237385, 10, "", 0, 5),
(101, 100, 100, 10, "", 0, 5),
(103, 104, 11.424711064752977, 1, "", 0, 4),
(106, 108, 11.424711064752977, 1, "", 0, 4),
(110, 112, 11.424711064752977, 1, "", 0, 4),
(114, 116, 11.424711064752977, 1, "", 0, 4),
(118, 120, 11.424711064752977, 1, "", 0, 4),
(122, 124, 11.424711064752977, 1, "", 0, 4),
(126, 128, 11.424711064752977, 1, "", 0, 4),
(0, 129, 89.999999999999986, 0.82569999999999999, "Нулевой потенциал", 0, 5),
(131, 5, 3.5807643569154024, 1, "", 0, 5),
(2, 136, 85, 10, "", 0, 4),
(135, 102, 85, 10, "", 0, 4),
(138, 163, 80, 10, "", 0, 4),
(164, 159, 80, 10, "", 0, 4),
(141, 165, 80, 10, "", 0, 4),
(145, 166, 80, 10, "", 0, 4),
(149, 167, 80, 10, "", 0, 4),
(153, 168, 80, 10, "", 0, 4),
(157, 169, 80, 10, "", 0, 4),
(161, 170, 80, 10, "", 0, 4),
(170, 155, 80, 10, "", 0, 4),
(169, 151, 80, 10, "", 0, 4),
(168, 147, 80, 10, "", 0, 4),
(167, 143, 80, 10, "", 0, 4),
(166, 139, 80, 10, "", 0, 4),
(165, 137, 80, 10, "", 0, 4),
(105, 142, 85, 10, "", 0, 4),
(140, 107, 85, 10, "", 0, 4),
(109, 146, 85, 10, "", 0, 4),
(144, 111, 85, 10, "", 0, 4),
(113, 150, 85, 10, "", 0, 4),
(148, 115, 85, 10, "", 0, 4),
(117, 154, 85, 10, "", 0, 4),
(152, 119, 85, 10, "", 0, 4),
(121, 158, 85, 10, "", 0, 4),
(156, 123, 85, 10, "", 0, 4),
(125, 162, 85, 10, "", 0, 4),
(160, 127, 85, 10, "", 0, 4),
]
for a, b, angle, max_angle, boundary, hidden, group in _arcs:
x0, y0 = _nodes[a][:2]
x1, y1 = _nodes[b][:2]
mi_addarc(x0, y0, x1, y1, angle, max_angle)
half = math.radians(angle)/2
cx = (x0+x1)/2 - (y1-y0)/(2*math.tan(half))
cy = (y0+y1)/2 + (x1-x0)/(2*math.tan(half))
xm = cx + (x0-cx)*math.cos(half) - (y0-cy)*math.sin(half)
ym = cy + (x0-cx)*math.sin(half) + (y0-cy)*math.cos(half)
mi_selectarcsegment(xm, ym)
mi_setarcsegmentprop(max_angle, boundary, hidden, group)
mi_clearselected()
# Метки: положение, материал, размер элемента, цепь, намагничивание, группа, витки.
_labels = [
(4.2569483988724688, 47.509771524701492, "Обмотка статора", 1, "Фаза В", 0, 3, 44),
(11.559064570553259, 46.067863269895426, "Обмотка статора", 1, "Фаза В", 0, 3, 44),
(20.103940404104719, 43.91493573066235, "Обмотка статора", 1, "Фаза В", 0, 3, 44),
(26.910488110825121, 39.103396650893885, "Обмотка статора", 1, "Фаза С", 0, 2, -44),
(33.248833344110707, 33.529764109751085, "Обмотка статора", 1, "Фаза С", 0, 2, -44),
(39.192448850946334, 26.886464123531656, "Обмотка статора", 1, "Фаза С", 0, 2, -44),
(42.783807532247593, 19.74628605696762, "Обмотка статора", 1, "Фаза А", 0, 1, 44),
(45.110007981640621, 11.913739123227387, "Обмотка статора", 1, "Фаза А", 0, 1, 44),
(45.582048954545165, 3.5407362377687077, "Обмотка статора", 1, "Фаза А", 0, 1, 44),
(0.90000000000000524, 33.5, "Алюминий", 1, "", 0, 4, 1),
(7.3000000000000105, 31.999999999999996, "Алюминий", 1, "", 0, 4, 1),
(14.999999999999998, 29.600000000000001, "Алюминий", 1, "", 0, 4, 1),
(20.199999999999992, 25.799999999999997, "Алюминий", 1, "", 0, 4, 1),
(25.800000000000004, 20.600000000000001, "Алюминий", 1, "", 0, 4, 1),
(28.999999999999996, 14, "Алюминий", 1, "", 0, 4, 1),
(31.199999999999992, 6.7000000000000002, "Алюминий", 1, "", 0, 4, 1),
(31.599999999999994, 0.29999999999999982, "Алюминий", 1, "", 0, 4, 1),
(40.410014741738578, 3.4852271909404284, "Воздух", 0.10000000000000001, "", 0, 2, 1),
(16, 16, "Электротехническая сталь", 1, "", 0, 4, 1),
(40, 40, "Электротехническая сталь", 1, "", 0, 5, 1),
]
for x, y, material, size, circuit, direction, group, turns in _labels:
mi_addblocklabel(x, y)
if material:
mi_selectlabel(x, y)
mi_setblockprop(material, 1 if size <= 0 else 0, size, circuit, direction, group, turns)
mi_clearselected()
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 9. Модель полная; автоматический расчёт не запускался.")

Этап 10 из 11
Просмотр сохранённой сетки
- Скачайте файлы «Асинхронный-двигатель-09-Готовая-модель.fem» и «Асинхронный-двигатель-09-Готовая-модель.ans» в одну папку. Их имена до расширения должны совпадать; сохраняйте исходные имена, чтобы FEMM нашёл готовое решение.
- Откройте именно файл «Полная модель шага 9 для просмотра решения», затем выполните mi_loadsolution() во встроенной консоли Python. Отдельный файл «Модель после шага 10» содержит то же состояние геометрии, но к его имени не приложено отдельное решение.
- В постпроцессоре выполните mo_showmesh(): команда показывает сетку готового решения и не создаёт новую сетку. Программу этого этапа также сохраните рядом с парой файлов модели и решения; запускайте её во встроенном Python FEMM.
- Рассмотрите сгущение сетки в узких зазорах и у границ материалов, если они присутствуют в модели. Оценка точности требует отдельной проверки сходимости; один снимок сетки её не заменяет.
- Для изменённой рабочей копии сетку и решение нужно построить заново. Приложенное решение относится только к неизменённому примеру.
Широкую таблицу можно прокрутить по горизонтали.
| № метки | Материал | Размер элемента, мм | Режим |
|---|---|---|---|
| 0 | Обмотка статора | 1 | заданный |
| 1 | Обмотка статора | 1 | заданный |
| 2 | Обмотка статора | 1 | заданный |
| 3 | Обмотка статора | 1 | заданный |
| 4 | Обмотка статора | 1 | заданный |
| 5 | Обмотка статора | 1 | заданный |
| 6 | Обмотка статора | 1 | заданный |
| 7 | Обмотка статора | 1 | заданный |
| 8 | Обмотка статора | 1 | заданный |
| 9 | Алюминий | 1 | заданный |
| 10 | Алюминий | 1 | заданный |
| 11 | Алюминий | 1 | заданный |
| 12 | Алюминий | 1 | заданный |
| 13 | Алюминий | 1 | заданный |
| 14 | Алюминий | 1 | заданный |
| 15 | Алюминий | 1 | заданный |
| 16 | Алюминий | 1 | заданный |
| 17 | Воздух | 0,1 | заданный |
| 18 | Электротехническая сталь | 1 | заданный |
| 19 | Электротехническая сталь | 1 | заданный |
Сохранённое состояние этапа
Полная модель шага 9 для просмотра решенияМодель после шага 10Сохранённое решение эталонаВстроенный Python: шаг 10
Параметры этого файла подготовлены для расчёта.
Посмотреть программу этапа с русскими комментариями
# Асинхронный двигатель: сектор модели
# Шаг 10: Просмотр сохранённой сетки
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import os
try:
_script = __file__.replace(chr(92), '/')
_folder = _script.rsplit('/', 1)[0] if '/' in _script else os.getcwd()
except NameError:
_folder = os.getcwd()
# Открываем готовый эталон и его унаследованное решение из одной папки.
opendocument(_folder + '/' + "Асинхронный-двигатель-09-Готовая-модель.fem")
mi_loadsolution()
mo_clearblock()
mo_clearcontour()
mo_zoomnatural()
mo_showdensityplot(1, 0, 1.8, 0, 'bmag')
# Показать существующие элементы из .ans; сетка не строится заново.
mo_showmesh()

Этап 11 из 11
Поле и численные результаты
- Для просмотра приложенного результата используйте ту же пару итоговых файлов модели и решения из предыдущего этапа. Программу этого этапа сохраните в той же папке: она открывает готовое решение, не запуская новый расчёт. Файл «Модель после шага 11» сохраняет итоговую геометрию; отдельного одноимённого решения к нему нет.
- Включите карту модуля магнитной индукции и прочитайте шкалу в теслах. Последовательно откройте результаты каждой цепи и сравните ток, полевое напряжение и потокосцепление с таблицей.
- Комплексные значения тока, полевого напряжения и потокосцепления в таблице представлены пиковыми амплитудами. Не сравнивайте их напрямую с действующими значениями источника питания.
- Чтобы проверить энергию всей модели во встроенной консоли Python, выполните последовательно
mo_clearblock(),mo_groupselectblock(), затемprint(mo_blockintegral(2)). Для коэнергии при том же выделении выполнитеprint(mo_blockintegral(17)). После проверки снимите выделение командойmo_clearblock(). - Адаптированная четверть исходной геометрии Meeker. Частота поля равна 1 Гц; подпись исторического источника 50 Гц не заменяет текущую частоту. Антипериодические пары сохраняются.
- Таблица содержит результаты этой модели. После изменения параметров выполните новый расчёт через Analysis → Analyze, откройте результат через Analysis → View Results и сравните значения.
Широкую таблицу можно прокрутить по горизонтали.
| Цепь | Комплексная амплитуда тока, А | Комплексная амплитуда полевого напряжения, В | Комплексная амплитуда потокосцепления, Вб |
|---|---|---|---|
| Фаза А | 1 | 0{,}2493 + j\cdot (0{,}2645) | 0{,}0421 + j\cdot (-0{,}03968) |
| Фаза С | -0{,}5 + j\cdot (-0{,}866) | 0{,}1135 + j\cdot (-0{,}3467) | -0{,}05517 + j\cdot (-0{,}01806) |
| Фаза В | -0{,}5 + j\cdot (0{,}866) | -0{,}3542 + j\cdot (0{,}07861) | 0{,}01251 + j\cdot (0{,}05637) |
| Величина | Значение |
|---|---|
| Средняя энергия, Дж | 0,03197 |
| Средняя коэнергия, Дж | 0,03197 |
Сохранённое состояние этапа
Полная модель шага 9 для просмотра решенияМодель после шага 11Сохранённое решение эталонаВстроенный Python: шаг 11
Параметры этого файла подготовлены для расчёта.
Посмотреть программу этапа с русскими комментариями
# Асинхронный двигатель: сектор модели
# Шаг 11: Поле и численные результаты
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import os
try:
_script = __file__.replace(chr(92), '/')
_folder = _script.rsplit('/', 1)[0] if '/' in _script else os.getcwd()
except NameError:
_folder = os.getcwd()
# Открываем готовый эталон и его унаследованное решение из одной папки.
opendocument(_folder + '/' + "Асинхронный-двигатель-09-Готовая-модель.fem")
mi_loadsolution()
mo_clearblock()
mo_clearcontour()
mo_zoomnatural()
mo_showdensityplot(1, 0, 1.8, 0, 'bmag')
mo_hidemesh()
# Запрашиваем реальные результаты всех сохранённых цепей.
print("Фаза А: I, U поля, потокосцепление", mo_getcircuitproperties("Фаза А"))
print("Фаза В: I, U поля, потокосцепление", mo_getcircuitproperties("Фаза В"))
print("Фаза С: I, U поля, потокосцепление", mo_getcircuitproperties("Фаза С"))
# Энергия вычисляется по всем областям эталона.
mo_groupselectblock()
print('Энергия, Дж:', mo_blockintegral(2))
mo_clearblock()
