FEMM 5

От постановки задачи к готовому решению

Синхронная машина с неявнополюсным ротором

Неподвижное токовое состояние неявнополюсной синхронной машины.

Проверка учебной модели

Исходный учебный пример повторно рассчитан в FEMM 5 15 октября 2026 года. Его модель также построена и решена из учебной Python-программы. Результат проверки.

Это неподвижное токовое состояние. Скоростная ЭДС, коммутация и полный привод не возникают от одной карты поля; для них требуются описанные в курсе серии положений и внешние соотношения.

Проходите этапы по порядку. Файл каждого этапа содержит накопленное состояние модели: его можно открыть отдельно и продолжить с указанного шага. Названия материалов, цепей и файлов приведены по-русски; названия команд интерфейса FEMM сохранены для точного поиска в программе.

Числа в таблицах позволяют сверить результат на указанной сетке. Количество выведенных знаков не задаёт физическую точность модели; для силы и момента проверяйте сетку и устойчивость метода вычисления.

Файлы исходных 11 этапов

Если нужен промежуточный результат построения, скачайте файл соответствующего этапа ниже.

Проверка сетки · 15 октября 2026 года

Сходимость момента и рекомендуемая сетка

Выбрана сетка для расчёта момента

Момент на выбранной сетке: −0,04951 Н·м. Число элементов: 2 054 171.

Линейные размеры блоков уменьшены в 8 раз: в зазоре 0,04375 мм. Разбиение прямых сегментов уточнено; дуги в области зазора дополнительно ограничены по длине хорды, в остальных областях — по угловому шагу 0{,}5^\circ.

Этапы 1–11 ниже сохраняют исходную учебную сетку и относящиеся к ней снимки. Для проверки уточнённого момента используйте файлы этого раздела. Геометрия, материалы, токи и активная длина модели сохранены.

Сходимость момента при увеличении числа конечных элементов
Рисунок 24.33. Результаты настоящих расчётов FEMM 5. Заштрихованная область показывает разброс трёх контуров; это проверка постобработки одного поля. Нажмите на график, чтобы открыть его в полном размере.
Синхронная машина с неявнополюсным ротором: выбранная сетка воздушного зазора.
Рисунок 24.34. Синхронная машина с неявнополюсным ротором: выбранная сетка воздушного зазора. Открыть в полном размере
Синхронная машина с неявнополюсным ротором: момент ротора на выбранной сетке.
Рисунок 24.35. Синхронная машина с неявнополюсным ротором: момент ротора на выбранной сетке. Открыть в полном размере
Таблица 24.19. Сеточная серия: момент в Н·м, размер в зазоре в мм
СеткаРазмер блока в зазоре, ммЭлементовWST, Н·мПеремена WST
Сетка 10,175147 652-0,04944059—
Сетка 20,0875539 437-0,049479370,0784%
Сетка 3 · выбрана0,043752 054 171-0,049510420,0627%

Критерии: две последние перемены взвешенного интеграла не более 1%; расхождения контурных оценок и производной коэнергии с ним не более 2%. Дополнительно проверяется устойчивость производной на соседних угловых шагах. Нижний абсолютный допуск — 0,00001 Н·м.

Таблица 24.20. Сравнение методов на выбранной сетке
МетодМомент, Н·мУсловия проверки
Взвешенный интеграл Максвелла (WST)-0,04951Интеграл 22; все области ротора, группа 2
Контуры без сглаживания-0,04984 … -0,04932Точное интегрирование кусочно-постоянного поля на трёх окружностях
Контуры со сглаживанием-0,04948 … -0,04944Три радиуса; 11520 точек на каждой окружности
Производная коэнергии-0,04954 … -0,0494Шаги: 1, 2^\circ
Угловые шаги и производная коэнергии

Для каждого положительного и отрицательного угла выполнен отдельный полевой расчёт при неизменных токах. В знаменателе центральной разности использован механический угол в радианах. В таблице сохранены все проверенные шаги на выбранной сетке; слишком малый шаг может усиливать ошибку разности коэнергий.

Таблица 24.21. Центральная разность при фиксированных токах
Шаг, град.Производная, Н·мРасхождение с WSTПроверка
0,25-0,052135,29%Не принят
0,5-0,048192,66%Не принят
1-0,049540,0675%Принят
2-0,04940,217%Принят

Проверено указанное положение ротора и заданные токи. Согласие методов относится к этой двумерной линейной модели; оно не оценивает влияние насыщения, концевых эффектов и отклонений реальной машины. Выведенные дополнительные цифры нужны для повторения расчёта.

Полный протокол, критерии и сопоставление восьми роторов

Этап 1 из 11

Постановка задачи

  1. Создайте магнитную задачу через «Файл → Новая» (File → New → Magnetics Problem).
  2. В окне «Постановка задачи» (Problem Definition) выберите миллиметры, тип «плоскопараллельная» и частоту 0 Гц.
  3. Введите точность, минимальный угол сетки и остальные значения таблицы. В таблицах используется десятичная запятая; при вводе чисел в FEMM заменяйте её точкой.
  4. Поле файла предыдущего решения оставьте пустым. В осесимметричной задаче поле глубины не задаёт физическую длину: координаты обозначают радиус r и высоту z. В плоскопараллельной задаче глубина задаёт длину модели перпендикулярно плоскости чертежа.
Неполный учебный этап; решение не запускать.
Таблица 24.22. Параметры постановки
ПараметрЗначение
Частота, Гц0
Точность10 × 10⁻⁹
Минимальный угол, {}^\circ25
Умная сетка: 1 — включена1
Глубина плоской задачи, мм80
Единицымиллиметры
Тип задачиплоскопараллельная
Координатыдекартовы
Гармонический решатель: 0 — последовательные приближения0
Предыдущее решение: 0 — отсутствует0
Файл предыдущего решенияНе задан

Сохранённое состояние этапа

Промежуточный этап построения. Перед расчётом завершите оставшиеся настройки модели.

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Синхронная машина с неявнополюсным ротором
# Шаг 1: Постановка задачи
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(0, "millimeters", "planar", 1e-08, 80, 25, 0)
mi_smartmesh(1)
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 1. Модель неполная: переходите к следующему этапу, не запускайте решение.")
Синхронная машина с неявнополюсным ротором. Шаг 1: Постановка задачи.
Рисунок 24.36. Синхронная машина с неявнополюсным ротором. Шаг 1: Постановка задачи. Открыть в полном размере

Перейти к следующему этапу →

Этап 2 из 11

Материалы и характеристика B–H

  1. Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
  2. Откройте «Свойства → Материалы» (Properties → Materials) и последовательно создайте материалы из таблиц.
  3. Для каждого материала укажите обе относительные проницаемости, коэрцитивную силу, заданную объёмную плотность тока, проводимость и параметры шихтовки. Удельная электрическая проводимость вводится в МСм/м, а не в См/м.
  4. Если дана таблица B–H, включите нелинейную характеристику и внесите каждую пару: B в Тл, H в А/м. Числа не заменяются свойствами одноимённого материала из другой библиотеки.
  5. Список сохраняет все материалы исходника. Столбец использования показывает, какие из них действительно назначены областям данного варианта.
Неполный учебный этап; решение не запускать.
Таблица 24.23. Воздух
ПараметрЗначение
Назначен областямДа
Относительная магнитная проницаемость по x/r1
Относительная магнитная проницаемость по y/z1
Коэрцитивная сила, А/м0
Угол направления коэрцитивной силы, {}^\circ0
Действительная часть плотности тока, МА/м²0
Мнимая часть плотности тока, МА/м²0
Удельная электрическая проводимость, МСм/м0
Толщина листа, мм0
Угол гистерезиса, {}^\circ0
Угол гистерезисного запаздывания по x, {}^\circ0
Угол гистерезисного запаздывания по y, {}^\circ0
Тип: 0 — без шихтовки0
Коэффициент заполнения1
Число жил0
Диаметр провода, мм0
Таблица 24.24. Обмоточная область
ПараметрЗначение
Назначен областямДа
Относительная магнитная проницаемость по x/r1
Относительная магнитная проницаемость по y/z1
Коэрцитивная сила, А/м0
Угол направления коэрцитивной силы, {}^\circ0
Действительная часть плотности тока, МА/м²0
Мнимая часть плотности тока, МА/м²0
Удельная электрическая проводимость, МСм/м0
Толщина листа, мм0
Угол гистерезиса, {}^\circ0
Угол гистерезисного запаздывания по x, {}^\circ0
Угол гистерезисного запаздывания по y, {}^\circ0
Тип: 0 — без шихтовки0
Коэффициент заполнения1
Число жил0
Диаметр провода, мм0
Таблица 24.25. Линейная сталь
ПараметрЗначение
Назначен областямДа
Относительная магнитная проницаемость по x/r1000
Относительная магнитная проницаемость по y/z1000
Коэрцитивная сила, А/м0
Угол направления коэрцитивной силы, {}^\circ0
Действительная часть плотности тока, МА/м²0
Мнимая часть плотности тока, МА/м²0
Удельная электрическая проводимость, МСм/м0
Толщина листа, мм0
Угол гистерезиса, {}^\circ0
Угол гистерезисного запаздывания по x, {}^\circ0
Угол гистерезисного запаздывания по y, {}^\circ0
Тип: 0 — без шихтовки0
Коэффициент заполнения1
Число жил0
Диаметр провода, мм0
Таблица 24.26. Нелинейная сталь
ПараметрЗначение
Назначен областямНет, сохранён в списке исходника
Относительная магнитная проницаемость по x/r1
Относительная магнитная проницаемость по y/z1
Коэрцитивная сила, А/м0
Угол направления коэрцитивной силы, {}^\circ0
Действительная часть плотности тока, МА/м²0
Мнимая часть плотности тока, МА/м²0
Удельная электрическая проводимость, МСм/м0
Толщина листа, мм0
Угол гистерезиса, {}^\circ0
Угол гистерезисного запаздывания по x, {}^\circ0
Угол гистерезисного запаздывания по y, {}^\circ0
Тип: 0 — без шихтовки0
Коэффициент заполнения1
Число жил0
Диаметр провода, мм0
Таблица 24.27. Характеристика B–H: Нелинейная сталь
B, ТлH, А/м
00
0,25100
0,5200
0,9400
1,2800
1,452000
1,65000
1,710000
Таблица 24.28. Постоянный магнит
ПараметрЗначение
Назначен областямНет, сохранён в списке исходника
Относительная магнитная проницаемость по x/r1,05
Относительная магнитная проницаемость по y/z1,05
Коэрцитивная сила, А/м909500
Угол направления коэрцитивной силы, {}^\circ0
Действительная часть плотности тока, МА/м²0
Мнимая часть плотности тока, МА/м²0
Удельная электрическая проводимость, МСм/м0
Толщина листа, мм0
Угол гистерезиса, {}^\circ0
Угол гистерезисного запаздывания по x, {}^\circ0
Угол гистерезисного запаздывания по y, {}^\circ0
Тип: 0 — без шихтовки0
Коэффициент заполнения1
Число жил0
Диаметр провода, мм0

Сохранённое состояние этапа

Промежуточный этап построения. Перед расчётом завершите оставшиеся настройки модели.

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Синхронная машина с неявнополюсным ротором
# Шаг 2: Материалы и характеристика B–H
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(0, "millimeters", "planar", 1e-08, 80, 25, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
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_addmaterial("Линейная сталь", 1000, 1000, 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_addbhpoint("Нелинейная сталь", 0, 0)
mi_addbhpoint("Нелинейная сталь", 0.25, 100)
mi_addbhpoint("Нелинейная сталь", 0.5, 200)
mi_addbhpoint("Нелинейная сталь", 0.90000000000000002, 400)
mi_addbhpoint("Нелинейная сталь", 1.2, 800)
mi_addbhpoint("Нелинейная сталь", 1.45, 2000)
mi_addbhpoint("Нелинейная сталь", 1.6000000000000001, 5000)
mi_addbhpoint("Нелинейная сталь", 1.7, 10000)
mi_addmaterial("Постоянный магнит", 1.05, 1.05, 909456.81766797334, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 2. Модель неполная: переходите к следующему этапу, не запускайте решение.")
Синхронная машина с неявнополюсным ротором. Шаг 2: Материалы и характеристика B–H.
Рисунок 24.37. Синхронная машина с неявнополюсным ротором. Шаг 2: Материалы и характеристика B–H. Открыть в полном размере

Перейти к следующему этапу →

Этап 3 из 11

Цепи и токи возбуждения

  1. Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
  2. Откройте «Свойства → Цепи» (Properties → Circuits) и создайте каждую указанную цепь.
  3. Выберите последовательное соединение (Series), если в таблице стоит код 1; код 0 соответствует параллельному соединению. Число витков задаётся позже в метке каждой области.
  4. В этой магнитостатической задаче задайте действительную часть тока из таблицы; мнимая часть равна нулю. Цепи с нулевым током также создайте: они нужны для получения потокосцепления соответствующих обмоток.
  5. Это неподвижное токовое состояние. Скоростная ЭДС, коммутация и полный привод не возникают от одной карты поля; для них требуются описанные в курсе серии положений и внешние соотношения.
Неполный учебный этап; решение не запускать.

Широкую таблицу можно прокрутить по горизонтали.

Таблица 24.29. Токи всех цепей
ЦепьДействительная часть тока, АМнимая часть тока, АТип
Фаза А10Последовательная (1)
Фаза В10Последовательная (1)
Фаза С-20Последовательная (1)
Обмотка возбуждения20Последовательная (1)

Сохранённое состояние этапа

Промежуточный этап построения. Перед расчётом завершите оставшиеся настройки модели.

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Синхронная машина с неявнополюсным ротором
# Шаг 3: Цепи и токи возбуждения
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(0, "millimeters", "planar", 1e-08, 80, 25, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
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_addmaterial("Линейная сталь", 1000, 1000, 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_addbhpoint("Нелинейная сталь", 0, 0)
mi_addbhpoint("Нелинейная сталь", 0.25, 100)
mi_addbhpoint("Нелинейная сталь", 0.5, 200)
mi_addbhpoint("Нелинейная сталь", 0.90000000000000002, 400)
mi_addbhpoint("Нелинейная сталь", 1.2, 800)
mi_addbhpoint("Нелинейная сталь", 1.45, 2000)
mi_addbhpoint("Нелинейная сталь", 1.6000000000000001, 5000)
mi_addbhpoint("Нелинейная сталь", 1.7, 10000)
mi_addmaterial("Постоянный магнит", 1.05, 1.05, 909456.81766797334, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Фаза А", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза В", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза С", complex(-2, 0), 1)
mi_addcircprop("Обмотка возбуждения", complex(2, 0), 1)
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 3. Модель неполная: переходите к следующему этапу, не запускайте решение.")
Синхронная машина с неявнополюсным ротором. Шаг 3: Цепи и токи возбуждения.
Рисунок 24.38. Синхронная машина с неявнополюсным ротором. Шаг 3: Цепи и токи возбуждения. Открыть в полном размере

Перейти к следующему этапу →

Этап 4 из 11

Граничные условия

  1. Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
  2. В «Свойства → Граничные условия» (Properties → Boundary) создайте определения из таблиц.
  3. Тип 0 — заданный потенциал (Prescribed A); нулевые A_{0}, A_{1} и A_{2} дают A=0. Тип 5 — антипериодическое условие (Anti-periodic).
  4. На этом этапе условие только определено. Назначайте его конкретным отрезкам и дугам на этапе «Отрезки и дуги» по приведённым там таблицам.
  5. Имена созданных условий должны совпадать с именами в таблицах отрезков и дуг. Не назначайте внешнее граничное условие внутренним контурам, если это не указано в таблице.
Неполный учебный этап; решение не запускать.
Таблица 24.30. Нулевой потенциал
ПараметрЗначение
Тип границы0
A_{0}0
A_{1}0
A_{2}0
Фаза, {}^\circ0
Действительная часть коэффициента c_{0}0
Мнимая часть коэффициента c_{0}0
Действительная часть коэффициента c_{1}0
Мнимая часть коэффициента c_{1}0
Относительная магнитная проницаемость при малой глубине проникновения0
Удельная электрическая проводимость для условия малой глубины проникновения0
Внутренний угол, {}^\circ0
Внешний угол, {}^\circ0

Сохранённое состояние этапа

Промежуточный этап построения. Перед расчётом завершите оставшиеся настройки модели.

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Синхронная машина с неявнополюсным ротором
# Шаг 4: Граничные условия
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(0, "millimeters", "planar", 1e-08, 80, 25, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
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_addmaterial("Линейная сталь", 1000, 1000, 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_addbhpoint("Нелинейная сталь", 0, 0)
mi_addbhpoint("Нелинейная сталь", 0.25, 100)
mi_addbhpoint("Нелинейная сталь", 0.5, 200)
mi_addbhpoint("Нелинейная сталь", 0.90000000000000002, 400)
mi_addbhpoint("Нелинейная сталь", 1.2, 800)
mi_addbhpoint("Нелинейная сталь", 1.45, 2000)
mi_addbhpoint("Нелинейная сталь", 1.6000000000000001, 5000)
mi_addbhpoint("Нелинейная сталь", 1.7, 10000)
mi_addmaterial("Постоянный магнит", 1.05, 1.05, 909456.81766797334, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Фаза А", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза В", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза С", complex(-2, 0), 1)
mi_addcircprop("Обмотка возбуждения", complex(2, 0), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 4. Модель неполная: переходите к следующему этапу, не запускайте решение.")
Синхронная машина с неявнополюсным ротором. Шаг 4: Граничные условия.
Рисунок 24.39. Синхронная машина с неявнополюсным ротором. Шаг 4: Граничные условия. Открыть в полном размере

Перейти к следующему этапу →

Этап 5 из 11

Узлы и размеры геометрии

  1. Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
  2. Переключитесь в режим узлов. Создавайте точки в порядке строк таблицы, вводя указанные координаты. Номер строки служит ссылкой для последующего соединения точек; это не имя, которое нужно присвоить узлу в FEMM.
  3. Размеры заданы в миллиметрах. Очень малые координаты порядка 10⁻¹⁴ мм означают вычислительный нуль. Таблицы округлены для чтения; полный набор исходных чисел сохранён в приложенной модели и программе этапа.
  4. Пока присутствуют только точки. Контуры, материалы областей и токовые назначения ещё не завершены.
Неполный учебный этап; решение не запускать.

Широкую таблицу можно прокрутить по горизонтали.

Таблица 24.31. Координаты всех узлов
№ узлаx или r, ммy или z, ммГруппа
0-170-1700
1170-1700
21701700
3-1701700
46000
559,557,3120
655,2323,440
747,9236,110
836,1147,920
923,4455,230
1015,5357,960
117,31259,550
120600
13-7,31259,550
14-15,5357,960
15-23,4455,230
16-36,1147,920
17-47,9236,110
18-55,2323,440
19-59,557,3120
20-6000
21-59,55-7,3120
22-55,23-23,440
23-47,92-36,110
24-36,11-47,920
25-23,44-55,230
26-15,53-57,960
27-7,312-59,550
280-600
297,312-59,550
3015,53-57,960
3123,44-55,230
3236,11-47,920
3347,92-36,110
3455,23-23,440
3559,55-7,3120
3610000
3799,2512,190
3892,0539,070
3979,8660,180
4060,1879,860
4139,0792,050
4225,8896,590
4312,1999,250
4401000
45-12,1999,250
46-25,8896,590
47-39,0792,050
48-60,1879,860
49-79,8660,180
50-92,0539,070
51-99,2512,190
52-10000
53-99,25-12,190
54-92,05-39,070
55-79,86-60,180
56-60,18-79,860
57-39,07-92,050
58-25,88-96,590
59-12,19-99,250
600-1000
6112,19-99,250
6225,88-96,590
6339,07-92,050
6460,18-79,860
6579,86-60,180
6692,05-39,070
6799,25-12,190
6884,37-10,360
698500
7084,3710,360
7178,2433,210
7267,8851,150
7351,1567,880
7433,2178,240
7510,3684,370
760850
77-10,3684,370
78-33,2178,240
79-51,1567,880
80-67,8851,150
81-78,2433,210
82-84,3710,360
83-8500
84-84,37-10,360
85-78,24-33,210
86-67,88-51,150
87-51,15-67,880
88-33,21-78,240
89-10,36-84,370
900-850
9110,36-84,370
9233,21-78,240
9351,15-67,880
9467,88-51,150
9578,24-33,210
961802
9717,872,1942
9816,577,0332
9914,3810,832
10010,8314,382
1017,03316,572
1024,65917,392
1032,19417,872
1040182
105-2,19417,872
106-4,65917,392
107-7,03316,572
108-10,8314,382
109-14,3810,832
110-16,577,0332
111-17,872,1942
112-1802
113-17,87-2,1942
114-16,57-7,0332
115-14,38-10,832
116-10,83-14,382
117-7,033-16,572
118-4,659-17,392
119-2,194-17,872
1200-182
1212,194-17,872
1224,659-17,392
1237,033-16,572
12410,83-14,382
12514,38-10,832
12616,57-7,0332
12717,87-2,1942
1285802
12957,577,0682
13053,3922,662
13146,3234,912
13234,9146,322
13322,6653,392
13415,0156,022
1357,06857,572
1360582
137-7,06857,572
138-15,0156,022
139-22,6653,392
140-34,9146,322
141-46,3234,912
142-53,3922,662
143-57,577,0682
144-5802
145-57,57-7,0682
146-53,39-22,662
147-46,32-34,912
148-34,91-46,322
149-22,66-53,392
150-15,01-56,022
151-7,068-57,572
1520-582
1537,068-57,572
15415,01-56,022
15522,66-53,392
15634,91-46,322
15746,32-34,912
15853,39-22,662
15957,57-7,0682
1607,76528,982
1613,65629,782
1620302
163-3,65629,782
164-7,76528,982
16514,2453,132
1666,70354,592
1670552
168-6,70354,592
169-14,2453,132
170-7,765-28,982
171-3,656-29,782
1720-302
1733,656-29,782
1747,765-28,982
175-14,24-53,132
176-6,703-54,592
1770-552
1786,703-54,592
17914,24-53,132

Сохранённое состояние этапа

Промежуточный этап построения. Перед расчётом завершите оставшиеся настройки модели.

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Синхронная машина с неявнополюсным ротором
# Шаг 5: Узлы и размеры геометрии
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(0, "millimeters", "planar", 1e-08, 80, 25, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
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_addmaterial("Линейная сталь", 1000, 1000, 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_addbhpoint("Нелинейная сталь", 0, 0)
mi_addbhpoint("Нелинейная сталь", 0.25, 100)
mi_addbhpoint("Нелинейная сталь", 0.5, 200)
mi_addbhpoint("Нелинейная сталь", 0.90000000000000002, 400)
mi_addbhpoint("Нелинейная сталь", 1.2, 800)
mi_addbhpoint("Нелинейная сталь", 1.45, 2000)
mi_addbhpoint("Нелинейная сталь", 1.6000000000000001, 5000)
mi_addbhpoint("Нелинейная сталь", 1.7, 10000)
mi_addmaterial("Постоянный магнит", 1.05, 1.05, 909456.81766797334, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Фаза А", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза В", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза С", complex(-2, 0), 1)
mi_addcircprop("Обмотка возбуждения", complex(2, 0), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
    (-170, -170, 0),
    (170, -170, 0),
    (170, 170, 0),
    (-170, 170, 0),
    (60, 0, 0),
    (59.552769098479317, 7.3121606043088487, 0),
    (55.230291207146422, 23.443867709356425, 0),
    (47.918130602837572, 36.108901389122899, 0),
    (36.108901389122906, 47.918130602837572, 0),
    (23.443867709356422, 55.230291207146422, 0),
    (15.529142706151244, 57.955549577344101, 0),
    (7.3121606043088496, 59.552769098479317, 0),
    (3.6738190614671318e-15, 60, 0),
    (-7.3121606043088416, 59.552769098479324, 0),
    (-15.529142706151251, 57.955549577344101, 0),
    (-23.443867709356425, 55.230291207146415, 0),
    (-36.108901389122906, 47.918130602837564, 0),
    (-47.918130602837579, 36.108901389122892, 0),
    (-55.230291207146422, 23.443867709356425, 0),
    (-59.552769098479317, 7.3121606043088523, 0),
    (-60, 7.3476381229342635e-15, 0),
    (-59.552769098479324, -7.312160604308839, 0),
    (-55.230291207146422, -23.443867709356415, 0),
    (-47.918130602837572, -36.108901389122906, 0),
    (-36.108901389122899, -47.918130602837572, 0),
    (-23.443867709356429, -55.230291207146415, 0),
    (-15.529142706151237, -57.955549577344101, 0),
    (-7.3121606043088301, -59.552769098479324, 0),
    (-1.1021457184401395e-14, -60, 0),
    (7.3121606043088612, -59.552769098479317, 0),
    (15.529142706151218, -57.955549577344108, 0),
    (23.443867709356411, -55.230291207146429, 0),
    (36.108901389122877, -47.918130602837586, 0),
    (47.918130602837572, -36.108901389122899, 0),
    (55.230291207146415, -23.443867709356432, 0),
    (59.552769098479324, -7.3121606043088336, 0),
    (100, 0, 0),
    (99.254615164132204, 12.186934340514748, 0),
    (92.050485345244041, 39.07311284892738, 0),
    (79.863551004729288, 60.181502315204824, 0),
    (60.181502315204838, 79.863551004729288, 0),
    (39.073112848927373, 92.050485345244041, 0),
    (25.881904510252074, 96.592582628906825, 0),
    (12.18693434051475, 99.254615164132204, 0),
    (6.1230317691118863e-15, 100, 0),
    (-12.186934340514737, 99.254615164132204, 0),
    (-25.881904510252085, 96.592582628906825, 0),
    (-39.07311284892738, 92.050485345244027, 0),
    (-60.181502315204838, 79.863551004729274, 0),
    (-79.863551004729288, 60.181502315204817, 0),
    (-92.050485345244041, 39.07311284892738, 0),
    (-99.254615164132204, 12.186934340514755, 0),
    (-100, 1.2246063538223773e-14, 0),
    (-99.254615164132204, -12.18693434051473, 0),
    (-92.050485345244041, -39.073112848927352, 0),
    (-79.863551004729288, -60.181502315204838, 0),
    (-60.181502315204824, -79.863551004729288, 0),
    (-39.07311284892738, -92.050485345244027, 0),
    (-25.881904510252063, -96.592582628906825, 0),
    (-12.186934340514718, -99.254615164132204, 0),
    (-1.8369095307335659e-14, -100, 0),
    (12.186934340514769, -99.254615164132204, 0),
    (25.881904510252028, -96.59258262890684, 0),
    (39.073112848927352, -92.050485345244056, 0),
    (60.181502315204796, -79.863551004729302, 0),
    (79.863551004729288, -60.181502315204824, 0),
    (92.050485345244027, -39.073112848927387, 0),
    (99.254615164132204, -12.186934340514723, 0),
    (84.366422889512378, -10.358894189437514, 0),
    (85, -2.0818308014980413e-14, 0),
    (84.366422889512364, 10.358894189437548, 0),
    (78.242912543457436, 33.212145921588274, 0),
    (67.884018354019886, 51.154276967924105, 0),
    (51.154276967924112, 67.884018354019886, 0),
    (33.212145921588267, 78.242912543457436, 0),
    (10.358894189437537, 84.366422889512364, 0),
    (5.2045770037451033e-15, 85, 0),
    (-10.358894189437526, 84.366422889512378, 0),
    (-33.212145921588274, 78.242912543457422, 0),
    (-51.154276967924112, 67.884018354019886, 0),
    (-67.884018354019901, 51.154276967924091, 0),
    (-78.242912543457436, 33.212145921588274, 0),
    (-84.366422889512364, 10.358894189437541, 0),
    (-85, 1.0409154007490207e-14, 0),
    (-84.366422889512378, -10.358894189437521, 0),
    (-78.242912543457436, -33.212145921588252, 0),
    (-67.884018354019886, -51.154276967924112, 0),
    (-51.154276967924105, -67.884018354019886, 0),
    (-33.212145921588274, -78.242912543457422, 0),
    (-10.35889418943751, -84.366422889512378, 0),
    (-1.561373101123531e-14, -85, 0),
    (10.358894189437553, -84.366422889512364, 0),
    (33.212145921588245, -78.242912543457436, 0),
    (51.154276967924076, -67.884018354019915, 0),
    (67.884018354019886, -51.154276967924105, 0),
    (78.242912543457422, -33.212145921588281, 0),
    (18, 0, 2),
    (17.865830729543795, 2.1936481812926547, 2),
    (16.569087362143925, 7.0331603128069275, 2),
    (14.37543918085127, 10.832670416736869, 2),
    (10.832670416736871, 14.37543918085127, 2),
    (7.0331603128069267, 16.569087362143925, 2),
    (4.6587428118453733, 17.38666487320323, 2),
    (2.1936481812926547, 17.865830729543795, 2),
    (1.1021457184401395e-15, 18, 2),
    (-2.1936481812926525, 17.865830729543799, 2),
    (-4.6587428118453751, 17.38666487320323, 2),
    (-7.0331603128069275, 16.569087362143925, 2),
    (-10.832670416736871, 14.375439180851268, 2),
    (-14.375439180851274, 10.832670416736867, 2),
    (-16.569087362143925, 7.0331603128069275, 2),
    (-17.865830729543795, 2.193648181292656, 2),
    (-18, 2.2042914368802791e-15, 2),
    (-17.865830729543799, -2.1936481812926516, 2),
    (-16.569087362143925, -7.033160312806924, 2),
    (-14.37543918085127, -10.832670416736871, 2),
    (-10.832670416736869, -14.37543918085127, 2),
    (-7.0331603128069293, -16.569087362143925, 2),
    (-4.6587428118453715, -17.38666487320323, 2),
    (-2.1936481812926489, -17.865830729543799, 2),
    (-3.3064371553204186e-15, -18, 2),
    (2.1936481812926583, -17.865830729543795, 2),
    (4.6587428118453653, -17.38666487320323, 2),
    (7.0331603128069231, -16.569087362143929, 2),
    (10.832670416736862, -14.375439180851275, 2),
    (14.37543918085127, -10.832670416736869, 2),
    (16.569087362143925, -7.0331603128069302, 2),
    (17.865830729543799, -2.1936481812926503, 2),
    (58, 0, 2),
    (57.567676795196675, 7.0684219174985534, 2),
    (53.389281500241545, 22.662405452377879, 2),
    (46.320859582742983, 34.9052713428188, 2),
    (34.905271342818807, 46.320859582742983, 2),
    (22.662405452377875, 53.389281500241545, 2),
    (15.011504615946203, 56.023697924765962, 2),
    (7.0684219174985543, 57.567676795196675, 2),
    (3.551358426084894e-15, 58, 2),
    (-7.0684219174985472, 57.567676795196682, 2),
    (-15.01150461594621, 56.023697924765962, 2),
    (-22.662405452377879, 53.389281500241538, 2),
    (-34.905271342818807, 46.320859582742976, 2),
    (-46.32085958274299, 34.905271342818793, 2),
    (-53.389281500241545, 22.662405452377879, 2),
    (-57.567676795196675, 7.0684219174985579, 2),
    (-58, 7.1027168521697881e-15, 2),
    (-57.567676795196682, -7.0684219174985436, 2),
    (-53.389281500241545, -22.662405452377865, 2),
    (-46.320859582742983, -34.905271342818807, 2),
    (-34.9052713428188, -46.320859582742983, 2),
    (-22.662405452377882, -53.389281500241538, 2),
    (-15.011504615946196, -56.023697924765962, 2),
    (-7.0684219174985357, -57.567676795196682, 2),
    (-1.0654075278254682e-14, -58, 2),
    (7.0684219174985659, -57.567676795196675, 2),
    (15.011504615946176, -56.023697924765969, 2),
    (22.662405452377861, -53.389281500241552, 2),
    (34.905271342818779, -46.320859582742997, 2),
    (46.320859582742983, -34.9052713428188, 2),
    (53.389281500241538, -22.662405452377886, 2),
    (57.567676795196682, -7.0684219174985392, 2),
    (7.7645713530756222, 28.97777478867205, 2),
    (3.6560803021544248, 29.776384549239658, 2),
    (1.8369095307335659e-15, 30, 2),
    (-3.6560803021544208, 29.776384549239662, 2),
    (-7.7645713530756257, 28.97777478867205, 2),
    (14.235047480638642, 53.125920445898757, 2),
    (6.7028138872831118, 54.590038340272706, 2),
    (3.3676674730115375e-15, 55, 2),
    (-6.7028138872831047, 54.590038340272713, 2),
    (-14.235047480638647, 53.125920445898757, 2),
    (-7.7645713530756186, -28.97777478867205, 2),
    (-3.656080302154415, -29.776384549239662, 2),
    (-5.5107285922006977e-15, -30, 2),
    (3.6560803021544306, -29.776384549239658, 2),
    (7.7645713530756089, -28.977774788672054, 2),
    (-14.235047480638634, -53.125920445898757, 2),
    (-6.702813887283094, -54.590038340272713, 2),
    (-1.0103002419034612e-14, -55, 2),
    (6.7028138872831224, -54.590038340272706, 2),
    (14.235047480638617, -53.125920445898764, 2),
]
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. Модель неполная: переходите к следующему этапу, не запускайте решение.")
Синхронная машина с неявнополюсным ротором. Шаг 5: Узлы и размеры геометрии.
Рисунок 24.40. Синхронная машина с неявнополюсным ротором. Шаг 5: Узлы и размеры геометрии. Открыть в полном размере

Перейти к следующему этапу →

Этап 6 из 11

Отрезки и дуги

  1. Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
  2. В режиме отрезков соедините пары узлов из первой таблицы. Координаты каждого конца найдите по номеру узла в таблице предыдущего этапа; каждая строка задаёт отдельный отрезок.
  3. В режиме дуг соедините пары узлов из второй таблицы. Угол отсчитывается от начального узла к конечному против часовой стрелки. Создавайте именно дуги, сохраняя заданный угол.
  4. Выделите каждый граничный отрезок или дугу и назначьте указанное условие через свойства объекта. Сохраните номера групп.
  5. Геометрия включает внешнюю воздушную область. На данном этапе ограничения сетки предварительные; точные ограничения будут восстановлены на шаге 9.
Неполный учебный этап; решение не запускать.

Широкую таблицу можно прокрутить по горизонтали.

Таблица 24.32. Все отрезки и назначенные границы
№Начальный узелКонечный узелГраницаГруппа
001Нулевой потенциал0
112Нулевой потенциал0
223Нулевой потенциал0
330Нулевой потенциал0
43568Нет0
5570Нет0
6671Нет0
7772Нет0
8873Нет0
9974Нет0
101175Нет0
111377Нет0
121578Нет0
131679Нет0
141780Нет0
151881Нет0
161982Нет0
172184Нет0
182285Нет0
192386Нет0
202487Нет0
212588Нет0
222789Нет0
232991Нет0
243192Нет0
253293Нет0
263394Нет0
273495Нет0
28160165Нет2
29164169Нет2
30170175Нет2
31174179Нет2

Широкую таблицу можно прокрутить по горизонтали.

Таблица 24.33. Все дуги и назначенные границы
№Начальный узелКонечный узелУгол дуги, {}^\circГраницаГруппа
0457Нет0
15616Нет0
26714Нет0
37816Нет0
48914Нет0
59108Нет0
610118Нет0
711127Нет0
812137Нет0
913148Нет0
1014158Нет0
11151614Нет0
12161716Нет0
13171814Нет0
14181916Нет0
1519207Нет0
1620217Нет0
17212216Нет0
18222314Нет0
19232416Нет0
20242514Нет0
2125268Нет0
2226278Нет0
2327287Нет0
2428297Нет0
2529308Нет0
2630318Нет0
27313214Нет0
28323316Нет0
29333414Нет0
30343516Нет0
313547Нет0
3236377Нет0
33373816Нет0
34383914Нет0
35394016Нет0
36404114Нет0
3741428Нет0
3842438Нет0
3943447Нет0
4044457Нет0
4145468Нет0
4246478Нет0
43474814Нет0
44484916Нет0
45495014Нет0
46505116Нет0
4751527Нет0
4852537Нет0
49535416Нет0
50545514Нет0
51555616Нет0
52565714Нет0
5357588Нет0
5458598Нет0
5559607Нет0
5660617Нет0
5761628Нет0
5862638Нет0
59636414Нет0
60646516Нет0
61656614Нет0
62666716Нет0
6367367Нет0
6468697Нет0
6569707Нет0
66717214Нет0
67737414Нет0
6875767Нет0
6976777Нет0
70787914Нет0
71808114Нет0
7282837Нет0
7383847Нет0
74858614Нет0
75878814Нет0
7689907Нет0
7790917Нет0
78929314Нет0
79949514Нет0
8096977Нет2
81979816Нет2
82989914Нет2
839910016Нет2
8410010114Нет2
851011028Нет2
861021038Нет2
871031047Нет2
881041057Нет2
891051068Нет2
901061078Нет2
9110710814Нет2
9210810916Нет2
9310911014Нет2
9411011116Нет2
951111127Нет2
961121137Нет2
9711311416Нет2
9811411514Нет2
9911511616Нет2
10011611714Нет2
1011171188Нет2
1021181198Нет2
1031191207Нет2
1041201217Нет2
1051211228Нет2
1061221238Нет2
10712312414Нет2
10812412516Нет2
10912512614Нет2
11012612716Нет2
111127967Нет2
1121281297Нет2
11312913016Нет2
11413013114Нет2
11513113216Нет2
11613213314Нет2
1171331348Нет2
1181341358Нет2
1191351367Нет2
1201361377Нет2
1211371388Нет2
1221381398Нет2
12313914014Нет2
12414014116Нет2
12514114214Нет2
12614214316Нет2
1271431447Нет2
1281441457Нет2
12914514616Нет2
13014614714Нет2
13114714816Нет2
13214814914Нет2
1331491508Нет2
1341501518Нет2
1351511527Нет2
1361521537Нет2
1371531548Нет2
1381541558Нет2
13915515614Нет2
14015615716Нет2
14115715814Нет2
14215815916Нет2
1431591287Нет2
1441601618Нет2
1451611627Нет2
1461621637Нет2
1471631648Нет2
1481651668Нет2
1491661677Нет2
1501671687Нет2
1511681698Нет2
1521701718Нет2
1531711727Нет2
1541721737Нет2
1551731748Нет2
1561751768Нет2
1571761777Нет2
1581771787Нет2
1591781798Нет2

Сохранённое состояние этапа

Промежуточный этап построения. Перед расчётом завершите оставшиеся настройки модели.

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Синхронная машина с неявнополюсным ротором
# Шаг 6: Отрезки и дуги
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(0, "millimeters", "planar", 1e-08, 80, 25, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
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_addmaterial("Линейная сталь", 1000, 1000, 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_addbhpoint("Нелинейная сталь", 0, 0)
mi_addbhpoint("Нелинейная сталь", 0.25, 100)
mi_addbhpoint("Нелинейная сталь", 0.5, 200)
mi_addbhpoint("Нелинейная сталь", 0.90000000000000002, 400)
mi_addbhpoint("Нелинейная сталь", 1.2, 800)
mi_addbhpoint("Нелинейная сталь", 1.45, 2000)
mi_addbhpoint("Нелинейная сталь", 1.6000000000000001, 5000)
mi_addbhpoint("Нелинейная сталь", 1.7, 10000)
mi_addmaterial("Постоянный магнит", 1.05, 1.05, 909456.81766797334, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Фаза А", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза В", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза С", complex(-2, 0), 1)
mi_addcircprop("Обмотка возбуждения", complex(2, 0), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
    (-170, -170, 0),
    (170, -170, 0),
    (170, 170, 0),
    (-170, 170, 0),
    (60, 0, 0),
    (59.552769098479317, 7.3121606043088487, 0),
    (55.230291207146422, 23.443867709356425, 0),
    (47.918130602837572, 36.108901389122899, 0),
    (36.108901389122906, 47.918130602837572, 0),
    (23.443867709356422, 55.230291207146422, 0),
    (15.529142706151244, 57.955549577344101, 0),
    (7.3121606043088496, 59.552769098479317, 0),
    (3.6738190614671318e-15, 60, 0),
    (-7.3121606043088416, 59.552769098479324, 0),
    (-15.529142706151251, 57.955549577344101, 0),
    (-23.443867709356425, 55.230291207146415, 0),
    (-36.108901389122906, 47.918130602837564, 0),
    (-47.918130602837579, 36.108901389122892, 0),
    (-55.230291207146422, 23.443867709356425, 0),
    (-59.552769098479317, 7.3121606043088523, 0),
    (-60, 7.3476381229342635e-15, 0),
    (-59.552769098479324, -7.312160604308839, 0),
    (-55.230291207146422, -23.443867709356415, 0),
    (-47.918130602837572, -36.108901389122906, 0),
    (-36.108901389122899, -47.918130602837572, 0),
    (-23.443867709356429, -55.230291207146415, 0),
    (-15.529142706151237, -57.955549577344101, 0),
    (-7.3121606043088301, -59.552769098479324, 0),
    (-1.1021457184401395e-14, -60, 0),
    (7.3121606043088612, -59.552769098479317, 0),
    (15.529142706151218, -57.955549577344108, 0),
    (23.443867709356411, -55.230291207146429, 0),
    (36.108901389122877, -47.918130602837586, 0),
    (47.918130602837572, -36.108901389122899, 0),
    (55.230291207146415, -23.443867709356432, 0),
    (59.552769098479324, -7.3121606043088336, 0),
    (100, 0, 0),
    (99.254615164132204, 12.186934340514748, 0),
    (92.050485345244041, 39.07311284892738, 0),
    (79.863551004729288, 60.181502315204824, 0),
    (60.181502315204838, 79.863551004729288, 0),
    (39.073112848927373, 92.050485345244041, 0),
    (25.881904510252074, 96.592582628906825, 0),
    (12.18693434051475, 99.254615164132204, 0),
    (6.1230317691118863e-15, 100, 0),
    (-12.186934340514737, 99.254615164132204, 0),
    (-25.881904510252085, 96.592582628906825, 0),
    (-39.07311284892738, 92.050485345244027, 0),
    (-60.181502315204838, 79.863551004729274, 0),
    (-79.863551004729288, 60.181502315204817, 0),
    (-92.050485345244041, 39.07311284892738, 0),
    (-99.254615164132204, 12.186934340514755, 0),
    (-100, 1.2246063538223773e-14, 0),
    (-99.254615164132204, -12.18693434051473, 0),
    (-92.050485345244041, -39.073112848927352, 0),
    (-79.863551004729288, -60.181502315204838, 0),
    (-60.181502315204824, -79.863551004729288, 0),
    (-39.07311284892738, -92.050485345244027, 0),
    (-25.881904510252063, -96.592582628906825, 0),
    (-12.186934340514718, -99.254615164132204, 0),
    (-1.8369095307335659e-14, -100, 0),
    (12.186934340514769, -99.254615164132204, 0),
    (25.881904510252028, -96.59258262890684, 0),
    (39.073112848927352, -92.050485345244056, 0),
    (60.181502315204796, -79.863551004729302, 0),
    (79.863551004729288, -60.181502315204824, 0),
    (92.050485345244027, -39.073112848927387, 0),
    (99.254615164132204, -12.186934340514723, 0),
    (84.366422889512378, -10.358894189437514, 0),
    (85, -2.0818308014980413e-14, 0),
    (84.366422889512364, 10.358894189437548, 0),
    (78.242912543457436, 33.212145921588274, 0),
    (67.884018354019886, 51.154276967924105, 0),
    (51.154276967924112, 67.884018354019886, 0),
    (33.212145921588267, 78.242912543457436, 0),
    (10.358894189437537, 84.366422889512364, 0),
    (5.2045770037451033e-15, 85, 0),
    (-10.358894189437526, 84.366422889512378, 0),
    (-33.212145921588274, 78.242912543457422, 0),
    (-51.154276967924112, 67.884018354019886, 0),
    (-67.884018354019901, 51.154276967924091, 0),
    (-78.242912543457436, 33.212145921588274, 0),
    (-84.366422889512364, 10.358894189437541, 0),
    (-85, 1.0409154007490207e-14, 0),
    (-84.366422889512378, -10.358894189437521, 0),
    (-78.242912543457436, -33.212145921588252, 0),
    (-67.884018354019886, -51.154276967924112, 0),
    (-51.154276967924105, -67.884018354019886, 0),
    (-33.212145921588274, -78.242912543457422, 0),
    (-10.35889418943751, -84.366422889512378, 0),
    (-1.561373101123531e-14, -85, 0),
    (10.358894189437553, -84.366422889512364, 0),
    (33.212145921588245, -78.242912543457436, 0),
    (51.154276967924076, -67.884018354019915, 0),
    (67.884018354019886, -51.154276967924105, 0),
    (78.242912543457422, -33.212145921588281, 0),
    (18, 0, 2),
    (17.865830729543795, 2.1936481812926547, 2),
    (16.569087362143925, 7.0331603128069275, 2),
    (14.37543918085127, 10.832670416736869, 2),
    (10.832670416736871, 14.37543918085127, 2),
    (7.0331603128069267, 16.569087362143925, 2),
    (4.6587428118453733, 17.38666487320323, 2),
    (2.1936481812926547, 17.865830729543795, 2),
    (1.1021457184401395e-15, 18, 2),
    (-2.1936481812926525, 17.865830729543799, 2),
    (-4.6587428118453751, 17.38666487320323, 2),
    (-7.0331603128069275, 16.569087362143925, 2),
    (-10.832670416736871, 14.375439180851268, 2),
    (-14.375439180851274, 10.832670416736867, 2),
    (-16.569087362143925, 7.0331603128069275, 2),
    (-17.865830729543795, 2.193648181292656, 2),
    (-18, 2.2042914368802791e-15, 2),
    (-17.865830729543799, -2.1936481812926516, 2),
    (-16.569087362143925, -7.033160312806924, 2),
    (-14.37543918085127, -10.832670416736871, 2),
    (-10.832670416736869, -14.37543918085127, 2),
    (-7.0331603128069293, -16.569087362143925, 2),
    (-4.6587428118453715, -17.38666487320323, 2),
    (-2.1936481812926489, -17.865830729543799, 2),
    (-3.3064371553204186e-15, -18, 2),
    (2.1936481812926583, -17.865830729543795, 2),
    (4.6587428118453653, -17.38666487320323, 2),
    (7.0331603128069231, -16.569087362143929, 2),
    (10.832670416736862, -14.375439180851275, 2),
    (14.37543918085127, -10.832670416736869, 2),
    (16.569087362143925, -7.0331603128069302, 2),
    (17.865830729543799, -2.1936481812926503, 2),
    (58, 0, 2),
    (57.567676795196675, 7.0684219174985534, 2),
    (53.389281500241545, 22.662405452377879, 2),
    (46.320859582742983, 34.9052713428188, 2),
    (34.905271342818807, 46.320859582742983, 2),
    (22.662405452377875, 53.389281500241545, 2),
    (15.011504615946203, 56.023697924765962, 2),
    (7.0684219174985543, 57.567676795196675, 2),
    (3.551358426084894e-15, 58, 2),
    (-7.0684219174985472, 57.567676795196682, 2),
    (-15.01150461594621, 56.023697924765962, 2),
    (-22.662405452377879, 53.389281500241538, 2),
    (-34.905271342818807, 46.320859582742976, 2),
    (-46.32085958274299, 34.905271342818793, 2),
    (-53.389281500241545, 22.662405452377879, 2),
    (-57.567676795196675, 7.0684219174985579, 2),
    (-58, 7.1027168521697881e-15, 2),
    (-57.567676795196682, -7.0684219174985436, 2),
    (-53.389281500241545, -22.662405452377865, 2),
    (-46.320859582742983, -34.905271342818807, 2),
    (-34.9052713428188, -46.320859582742983, 2),
    (-22.662405452377882, -53.389281500241538, 2),
    (-15.011504615946196, -56.023697924765962, 2),
    (-7.0684219174985357, -57.567676795196682, 2),
    (-1.0654075278254682e-14, -58, 2),
    (7.0684219174985659, -57.567676795196675, 2),
    (15.011504615946176, -56.023697924765969, 2),
    (22.662405452377861, -53.389281500241552, 2),
    (34.905271342818779, -46.320859582742997, 2),
    (46.320859582742983, -34.9052713428188, 2),
    (53.389281500241538, -22.662405452377886, 2),
    (57.567676795196682, -7.0684219174985392, 2),
    (7.7645713530756222, 28.97777478867205, 2),
    (3.6560803021544248, 29.776384549239658, 2),
    (1.8369095307335659e-15, 30, 2),
    (-3.6560803021544208, 29.776384549239662, 2),
    (-7.7645713530756257, 28.97777478867205, 2),
    (14.235047480638642, 53.125920445898757, 2),
    (6.7028138872831118, 54.590038340272706, 2),
    (3.3676674730115375e-15, 55, 2),
    (-6.7028138872831047, 54.590038340272713, 2),
    (-14.235047480638647, 53.125920445898757, 2),
    (-7.7645713530756186, -28.97777478867205, 2),
    (-3.656080302154415, -29.776384549239662, 2),
    (-5.5107285922006977e-15, -30, 2),
    (3.6560803021544306, -29.776384549239658, 2),
    (7.7645713530756089, -28.977774788672054, 2),
    (-14.235047480638634, -53.125920445898757, 2),
    (-6.702813887283094, -54.590038340272713, 2),
    (-1.0103002419034612e-14, -55, 2),
    (6.7028138872831224, -54.590038340272706, 2),
    (14.235047480638617, -53.125920445898764, 2),
]
for x, y, group in _nodes:
    mi_addnode(x, y)
    if group:
        mi_selectnode(x, y)
        mi_setnodeprop('', group)
        mi_clearselected()
# Отрезки: индексы узлов, локальный размер, имя границы, видимость, группа.
_segments = [
    (0, 1, -1, "Нулевой потенциал", 0, 0),
    (1, 2, -1, "Нулевой потенциал", 0, 0),
    (2, 3, -1, "Нулевой потенциал", 0, 0),
    (3, 0, -1, "Нулевой потенциал", 0, 0),
    (35, 68, -1, "", 0, 0),
    (5, 70, -1, "", 0, 0),
    (6, 71, -1, "", 0, 0),
    (7, 72, -1, "", 0, 0),
    (8, 73, -1, "", 0, 0),
    (9, 74, -1, "", 0, 0),
    (11, 75, -1, "", 0, 0),
    (13, 77, -1, "", 0, 0),
    (15, 78, -1, "", 0, 0),
    (16, 79, -1, "", 0, 0),
    (17, 80, -1, "", 0, 0),
    (18, 81, -1, "", 0, 0),
    (19, 82, -1, "", 0, 0),
    (21, 84, -1, "", 0, 0),
    (22, 85, -1, "", 0, 0),
    (23, 86, -1, "", 0, 0),
    (24, 87, -1, "", 0, 0),
    (25, 88, -1, "", 0, 0),
    (27, 89, -1, "", 0, 0),
    (29, 91, -1, "", 0, 0),
    (31, 92, -1, "", 0, 0),
    (32, 93, -1, "", 0, 0),
    (33, 94, -1, "", 0, 0),
    (34, 95, -1, "", 0, 0),
    (160, 165, -1, "", 0, 2),
    (164, 169, -1, "", 0, 2),
    (170, 175, -1, "", 0, 2),
    (174, 179, -1, "", 0, 2),
]
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 = [
    (4, 5, 7, 10, "", 0, 0),
    (5, 6, 16, 10, "", 0, 0),
    (6, 7, 14, 10, "", 0, 0),
    (7, 8, 16, 10, "", 0, 0),
    (8, 9, 14, 10, "", 0, 0),
    (9, 10, 8, 10, "", 0, 0),
    (10, 11, 8, 10, "", 0, 0),
    (11, 12, 7, 10, "", 0, 0),
    (12, 13, 7, 10, "", 0, 0),
    (13, 14, 8, 10, "", 0, 0),
    (14, 15, 8, 10, "", 0, 0),
    (15, 16, 14, 10, "", 0, 0),
    (16, 17, 16, 10, "", 0, 0),
    (17, 18, 14, 10, "", 0, 0),
    (18, 19, 16, 10, "", 0, 0),
    (19, 20, 7, 10, "", 0, 0),
    (20, 21, 7, 10, "", 0, 0),
    (21, 22, 16, 10, "", 0, 0),
    (22, 23, 14, 10, "", 0, 0),
    (23, 24, 16, 10, "", 0, 0),
    (24, 25, 14, 10, "", 0, 0),
    (25, 26, 8, 10, "", 0, 0),
    (26, 27, 8, 10, "", 0, 0),
    (27, 28, 7, 10, "", 0, 0),
    (28, 29, 7, 10, "", 0, 0),
    (29, 30, 8, 10, "", 0, 0),
    (30, 31, 8, 10, "", 0, 0),
    (31, 32, 14, 10, "", 0, 0),
    (32, 33, 16, 10, "", 0, 0),
    (33, 34, 14, 10, "", 0, 0),
    (34, 35, 16, 10, "", 0, 0),
    (35, 4, 7, 10, "", 0, 0),
    (36, 37, 7, 10, "", 0, 0),
    (37, 38, 16, 10, "", 0, 0),
    (38, 39, 14, 10, "", 0, 0),
    (39, 40, 16, 10, "", 0, 0),
    (40, 41, 14, 10, "", 0, 0),
    (41, 42, 8, 10, "", 0, 0),
    (42, 43, 8, 10, "", 0, 0),
    (43, 44, 7, 10, "", 0, 0),
    (44, 45, 7, 10, "", 0, 0),
    (45, 46, 8, 10, "", 0, 0),
    (46, 47, 8, 10, "", 0, 0),
    (47, 48, 14, 10, "", 0, 0),
    (48, 49, 16, 10, "", 0, 0),
    (49, 50, 14, 10, "", 0, 0),
    (50, 51, 16, 10, "", 0, 0),
    (51, 52, 7, 10, "", 0, 0),
    (52, 53, 7, 10, "", 0, 0),
    (53, 54, 16, 10, "", 0, 0),
    (54, 55, 14, 10, "", 0, 0),
    (55, 56, 16, 10, "", 0, 0),
    (56, 57, 14, 10, "", 0, 0),
    (57, 58, 8, 10, "", 0, 0),
    (58, 59, 8, 10, "", 0, 0),
    (59, 60, 7, 10, "", 0, 0),
    (60, 61, 7, 10, "", 0, 0),
    (61, 62, 8, 10, "", 0, 0),
    (62, 63, 8, 10, "", 0, 0),
    (63, 64, 14, 10, "", 0, 0),
    (64, 65, 16, 10, "", 0, 0),
    (65, 66, 14, 10, "", 0, 0),
    (66, 67, 16, 10, "", 0, 0),
    (67, 36, 7, 10, "", 0, 0),
    (68, 69, 7, 10, "", 0, 0),
    (69, 70, 7, 10, "", 0, 0),
    (71, 72, 14, 10, "", 0, 0),
    (73, 74, 14, 10, "", 0, 0),
    (75, 76, 7, 10, "", 0, 0),
    (76, 77, 7, 10, "", 0, 0),
    (78, 79, 14, 10, "", 0, 0),
    (80, 81, 14, 10, "", 0, 0),
    (82, 83, 7, 10, "", 0, 0),
    (83, 84, 7, 10, "", 0, 0),
    (85, 86, 14, 10, "", 0, 0),
    (87, 88, 14, 10, "", 0, 0),
    (89, 90, 7, 10, "", 0, 0),
    (90, 91, 7, 10, "", 0, 0),
    (92, 93, 14, 10, "", 0, 0),
    (94, 95, 14, 10, "", 0, 0),
    (96, 97, 7, 10, "", 0, 2),
    (97, 98, 16, 10, "", 0, 2),
    (98, 99, 14, 10, "", 0, 2),
    (99, 100, 16, 10, "", 0, 2),
    (100, 101, 14, 10, "", 0, 2),
    (101, 102, 8, 10, "", 0, 2),
    (102, 103, 8, 10, "", 0, 2),
    (103, 104, 7, 10, "", 0, 2),
    (104, 105, 7, 10, "", 0, 2),
    (105, 106, 8, 10, "", 0, 2),
    (106, 107, 8, 10, "", 0, 2),
    (107, 108, 14, 10, "", 0, 2),
    (108, 109, 16, 10, "", 0, 2),
    (109, 110, 14, 10, "", 0, 2),
    (110, 111, 16, 10, "", 0, 2),
    (111, 112, 7, 10, "", 0, 2),
    (112, 113, 7, 10, "", 0, 2),
    (113, 114, 16, 10, "", 0, 2),
    (114, 115, 14, 10, "", 0, 2),
    (115, 116, 16, 10, "", 0, 2),
    (116, 117, 14, 10, "", 0, 2),
    (117, 118, 8, 10, "", 0, 2),
    (118, 119, 8, 10, "", 0, 2),
    (119, 120, 7, 10, "", 0, 2),
    (120, 121, 7, 10, "", 0, 2),
    (121, 122, 8, 10, "", 0, 2),
    (122, 123, 8, 10, "", 0, 2),
    (123, 124, 14, 10, "", 0, 2),
    (124, 125, 16, 10, "", 0, 2),
    (125, 126, 14, 10, "", 0, 2),
    (126, 127, 16, 10, "", 0, 2),
    (127, 96, 7, 10, "", 0, 2),
    (128, 129, 7, 10, "", 0, 2),
    (129, 130, 16, 10, "", 0, 2),
    (130, 131, 14, 10, "", 0, 2),
    (131, 132, 16, 10, "", 0, 2),
    (132, 133, 14, 10, "", 0, 2),
    (133, 134, 8, 10, "", 0, 2),
    (134, 135, 8, 10, "", 0, 2),
    (135, 136, 7, 10, "", 0, 2),
    (136, 137, 7, 10, "", 0, 2),
    (137, 138, 8, 10, "", 0, 2),
    (138, 139, 8, 10, "", 0, 2),
    (139, 140, 14, 10, "", 0, 2),
    (140, 141, 16, 10, "", 0, 2),
    (141, 142, 14, 10, "", 0, 2),
    (142, 143, 16, 10, "", 0, 2),
    (143, 144, 7, 10, "", 0, 2),
    (144, 145, 7, 10, "", 0, 2),
    (145, 146, 16, 10, "", 0, 2),
    (146, 147, 14, 10, "", 0, 2),
    (147, 148, 16, 10, "", 0, 2),
    (148, 149, 14, 10, "", 0, 2),
    (149, 150, 8, 10, "", 0, 2),
    (150, 151, 8, 10, "", 0, 2),
    (151, 152, 7, 10, "", 0, 2),
    (152, 153, 7, 10, "", 0, 2),
    (153, 154, 8, 10, "", 0, 2),
    (154, 155, 8, 10, "", 0, 2),
    (155, 156, 14, 10, "", 0, 2),
    (156, 157, 16, 10, "", 0, 2),
    (157, 158, 14, 10, "", 0, 2),
    (158, 159, 16, 10, "", 0, 2),
    (159, 128, 7, 10, "", 0, 2),
    (160, 161, 8, 10, "", 0, 2),
    (161, 162, 7, 10, "", 0, 2),
    (162, 163, 7, 10, "", 0, 2),
    (163, 164, 8, 10, "", 0, 2),
    (165, 166, 8, 10, "", 0, 2),
    (166, 167, 7, 10, "", 0, 2),
    (167, 168, 7, 10, "", 0, 2),
    (168, 169, 8, 10, "", 0, 2),
    (170, 171, 8, 10, "", 0, 2),
    (171, 172, 7, 10, "", 0, 2),
    (172, 173, 7, 10, "", 0, 2),
    (173, 174, 8, 10, "", 0, 2),
    (175, 176, 8, 10, "", 0, 2),
    (176, 177, 7, 10, "", 0, 2),
    (177, 178, 7, 10, "", 0, 2),
    (178, 179, 8, 10, "", 0, 2),
]
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. Модель неполная: переходите к следующему этапу, не запускайте решение.")
Синхронная машина с неявнополюсным ротором. Шаг 6: Отрезки и дуги.
Рисунок 24.41. Синхронная машина с неявнополюсным ротором. Шаг 6: Отрезки и дуги. Открыть в полном размере

Перейти к следующему этапу →

Этап 7 из 11

Метки замкнутых областей

  1. Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
  2. В режиме меток добавьте по одной метке в каждую область в координатах таблицы.
  3. На этом этапе метки намеренно оставлены без материала и цепи. Каждая метка должна лежать строго внутри своего замкнутого контура. Обязательно добавьте метку внешней воздушной области.
  4. Не запускайте расчёт: присутствие точки метки ещё не назначает физические свойства.
Неполный учебный этап; решение не запускать.

Широкую таблицу можно прокрутить по горизонтали.

Таблица 24.34. Положения всех меток
№x или r, ммy или z, ммБудущий материал
0144,5144,5Воздух
1094Линейная сталь
2730Обмоточная область
363,2236,5Обмоточная область
436,563,22Обмоточная область
5073Обмоточная область
6-36,563,22Обмоточная область
7-63,2236,5Обмоточная область
8-730Обмоточная область
9-63,22-36,5Обмоточная область
10-36,5-63,22Обмоточная область
110-73Обмоточная область
1236,5-63,22Обмоточная область
1363,22-36,5Обмоточная область
14270Линейная сталь
15043Обмоточная область
160-43Обмоточная область
1700Воздух
1856,4217,25Воздух

Сохранённое состояние этапа

Промежуточный этап построения. Перед расчётом завершите оставшиеся настройки модели.

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Синхронная машина с неявнополюсным ротором
# Шаг 7: Метки замкнутых областей
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(0, "millimeters", "planar", 1e-08, 80, 25, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
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_addmaterial("Линейная сталь", 1000, 1000, 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_addbhpoint("Нелинейная сталь", 0, 0)
mi_addbhpoint("Нелинейная сталь", 0.25, 100)
mi_addbhpoint("Нелинейная сталь", 0.5, 200)
mi_addbhpoint("Нелинейная сталь", 0.90000000000000002, 400)
mi_addbhpoint("Нелинейная сталь", 1.2, 800)
mi_addbhpoint("Нелинейная сталь", 1.45, 2000)
mi_addbhpoint("Нелинейная сталь", 1.6000000000000001, 5000)
mi_addbhpoint("Нелинейная сталь", 1.7, 10000)
mi_addmaterial("Постоянный магнит", 1.05, 1.05, 909456.81766797334, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Фаза А", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза В", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза С", complex(-2, 0), 1)
mi_addcircprop("Обмотка возбуждения", complex(2, 0), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
    (-170, -170, 0),
    (170, -170, 0),
    (170, 170, 0),
    (-170, 170, 0),
    (60, 0, 0),
    (59.552769098479317, 7.3121606043088487, 0),
    (55.230291207146422, 23.443867709356425, 0),
    (47.918130602837572, 36.108901389122899, 0),
    (36.108901389122906, 47.918130602837572, 0),
    (23.443867709356422, 55.230291207146422, 0),
    (15.529142706151244, 57.955549577344101, 0),
    (7.3121606043088496, 59.552769098479317, 0),
    (3.6738190614671318e-15, 60, 0),
    (-7.3121606043088416, 59.552769098479324, 0),
    (-15.529142706151251, 57.955549577344101, 0),
    (-23.443867709356425, 55.230291207146415, 0),
    (-36.108901389122906, 47.918130602837564, 0),
    (-47.918130602837579, 36.108901389122892, 0),
    (-55.230291207146422, 23.443867709356425, 0),
    (-59.552769098479317, 7.3121606043088523, 0),
    (-60, 7.3476381229342635e-15, 0),
    (-59.552769098479324, -7.312160604308839, 0),
    (-55.230291207146422, -23.443867709356415, 0),
    (-47.918130602837572, -36.108901389122906, 0),
    (-36.108901389122899, -47.918130602837572, 0),
    (-23.443867709356429, -55.230291207146415, 0),
    (-15.529142706151237, -57.955549577344101, 0),
    (-7.3121606043088301, -59.552769098479324, 0),
    (-1.1021457184401395e-14, -60, 0),
    (7.3121606043088612, -59.552769098479317, 0),
    (15.529142706151218, -57.955549577344108, 0),
    (23.443867709356411, -55.230291207146429, 0),
    (36.108901389122877, -47.918130602837586, 0),
    (47.918130602837572, -36.108901389122899, 0),
    (55.230291207146415, -23.443867709356432, 0),
    (59.552769098479324, -7.3121606043088336, 0),
    (100, 0, 0),
    (99.254615164132204, 12.186934340514748, 0),
    (92.050485345244041, 39.07311284892738, 0),
    (79.863551004729288, 60.181502315204824, 0),
    (60.181502315204838, 79.863551004729288, 0),
    (39.073112848927373, 92.050485345244041, 0),
    (25.881904510252074, 96.592582628906825, 0),
    (12.18693434051475, 99.254615164132204, 0),
    (6.1230317691118863e-15, 100, 0),
    (-12.186934340514737, 99.254615164132204, 0),
    (-25.881904510252085, 96.592582628906825, 0),
    (-39.07311284892738, 92.050485345244027, 0),
    (-60.181502315204838, 79.863551004729274, 0),
    (-79.863551004729288, 60.181502315204817, 0),
    (-92.050485345244041, 39.07311284892738, 0),
    (-99.254615164132204, 12.186934340514755, 0),
    (-100, 1.2246063538223773e-14, 0),
    (-99.254615164132204, -12.18693434051473, 0),
    (-92.050485345244041, -39.073112848927352, 0),
    (-79.863551004729288, -60.181502315204838, 0),
    (-60.181502315204824, -79.863551004729288, 0),
    (-39.07311284892738, -92.050485345244027, 0),
    (-25.881904510252063, -96.592582628906825, 0),
    (-12.186934340514718, -99.254615164132204, 0),
    (-1.8369095307335659e-14, -100, 0),
    (12.186934340514769, -99.254615164132204, 0),
    (25.881904510252028, -96.59258262890684, 0),
    (39.073112848927352, -92.050485345244056, 0),
    (60.181502315204796, -79.863551004729302, 0),
    (79.863551004729288, -60.181502315204824, 0),
    (92.050485345244027, -39.073112848927387, 0),
    (99.254615164132204, -12.186934340514723, 0),
    (84.366422889512378, -10.358894189437514, 0),
    (85, -2.0818308014980413e-14, 0),
    (84.366422889512364, 10.358894189437548, 0),
    (78.242912543457436, 33.212145921588274, 0),
    (67.884018354019886, 51.154276967924105, 0),
    (51.154276967924112, 67.884018354019886, 0),
    (33.212145921588267, 78.242912543457436, 0),
    (10.358894189437537, 84.366422889512364, 0),
    (5.2045770037451033e-15, 85, 0),
    (-10.358894189437526, 84.366422889512378, 0),
    (-33.212145921588274, 78.242912543457422, 0),
    (-51.154276967924112, 67.884018354019886, 0),
    (-67.884018354019901, 51.154276967924091, 0),
    (-78.242912543457436, 33.212145921588274, 0),
    (-84.366422889512364, 10.358894189437541, 0),
    (-85, 1.0409154007490207e-14, 0),
    (-84.366422889512378, -10.358894189437521, 0),
    (-78.242912543457436, -33.212145921588252, 0),
    (-67.884018354019886, -51.154276967924112, 0),
    (-51.154276967924105, -67.884018354019886, 0),
    (-33.212145921588274, -78.242912543457422, 0),
    (-10.35889418943751, -84.366422889512378, 0),
    (-1.561373101123531e-14, -85, 0),
    (10.358894189437553, -84.366422889512364, 0),
    (33.212145921588245, -78.242912543457436, 0),
    (51.154276967924076, -67.884018354019915, 0),
    (67.884018354019886, -51.154276967924105, 0),
    (78.242912543457422, -33.212145921588281, 0),
    (18, 0, 2),
    (17.865830729543795, 2.1936481812926547, 2),
    (16.569087362143925, 7.0331603128069275, 2),
    (14.37543918085127, 10.832670416736869, 2),
    (10.832670416736871, 14.37543918085127, 2),
    (7.0331603128069267, 16.569087362143925, 2),
    (4.6587428118453733, 17.38666487320323, 2),
    (2.1936481812926547, 17.865830729543795, 2),
    (1.1021457184401395e-15, 18, 2),
    (-2.1936481812926525, 17.865830729543799, 2),
    (-4.6587428118453751, 17.38666487320323, 2),
    (-7.0331603128069275, 16.569087362143925, 2),
    (-10.832670416736871, 14.375439180851268, 2),
    (-14.375439180851274, 10.832670416736867, 2),
    (-16.569087362143925, 7.0331603128069275, 2),
    (-17.865830729543795, 2.193648181292656, 2),
    (-18, 2.2042914368802791e-15, 2),
    (-17.865830729543799, -2.1936481812926516, 2),
    (-16.569087362143925, -7.033160312806924, 2),
    (-14.37543918085127, -10.832670416736871, 2),
    (-10.832670416736869, -14.37543918085127, 2),
    (-7.0331603128069293, -16.569087362143925, 2),
    (-4.6587428118453715, -17.38666487320323, 2),
    (-2.1936481812926489, -17.865830729543799, 2),
    (-3.3064371553204186e-15, -18, 2),
    (2.1936481812926583, -17.865830729543795, 2),
    (4.6587428118453653, -17.38666487320323, 2),
    (7.0331603128069231, -16.569087362143929, 2),
    (10.832670416736862, -14.375439180851275, 2),
    (14.37543918085127, -10.832670416736869, 2),
    (16.569087362143925, -7.0331603128069302, 2),
    (17.865830729543799, -2.1936481812926503, 2),
    (58, 0, 2),
    (57.567676795196675, 7.0684219174985534, 2),
    (53.389281500241545, 22.662405452377879, 2),
    (46.320859582742983, 34.9052713428188, 2),
    (34.905271342818807, 46.320859582742983, 2),
    (22.662405452377875, 53.389281500241545, 2),
    (15.011504615946203, 56.023697924765962, 2),
    (7.0684219174985543, 57.567676795196675, 2),
    (3.551358426084894e-15, 58, 2),
    (-7.0684219174985472, 57.567676795196682, 2),
    (-15.01150461594621, 56.023697924765962, 2),
    (-22.662405452377879, 53.389281500241538, 2),
    (-34.905271342818807, 46.320859582742976, 2),
    (-46.32085958274299, 34.905271342818793, 2),
    (-53.389281500241545, 22.662405452377879, 2),
    (-57.567676795196675, 7.0684219174985579, 2),
    (-58, 7.1027168521697881e-15, 2),
    (-57.567676795196682, -7.0684219174985436, 2),
    (-53.389281500241545, -22.662405452377865, 2),
    (-46.320859582742983, -34.905271342818807, 2),
    (-34.9052713428188, -46.320859582742983, 2),
    (-22.662405452377882, -53.389281500241538, 2),
    (-15.011504615946196, -56.023697924765962, 2),
    (-7.0684219174985357, -57.567676795196682, 2),
    (-1.0654075278254682e-14, -58, 2),
    (7.0684219174985659, -57.567676795196675, 2),
    (15.011504615946176, -56.023697924765969, 2),
    (22.662405452377861, -53.389281500241552, 2),
    (34.905271342818779, -46.320859582742997, 2),
    (46.320859582742983, -34.9052713428188, 2),
    (53.389281500241538, -22.662405452377886, 2),
    (57.567676795196682, -7.0684219174985392, 2),
    (7.7645713530756222, 28.97777478867205, 2),
    (3.6560803021544248, 29.776384549239658, 2),
    (1.8369095307335659e-15, 30, 2),
    (-3.6560803021544208, 29.776384549239662, 2),
    (-7.7645713530756257, 28.97777478867205, 2),
    (14.235047480638642, 53.125920445898757, 2),
    (6.7028138872831118, 54.590038340272706, 2),
    (3.3676674730115375e-15, 55, 2),
    (-6.7028138872831047, 54.590038340272713, 2),
    (-14.235047480638647, 53.125920445898757, 2),
    (-7.7645713530756186, -28.97777478867205, 2),
    (-3.656080302154415, -29.776384549239662, 2),
    (-5.5107285922006977e-15, -30, 2),
    (3.6560803021544306, -29.776384549239658, 2),
    (7.7645713530756089, -28.977774788672054, 2),
    (-14.235047480638634, -53.125920445898757, 2),
    (-6.702813887283094, -54.590038340272713, 2),
    (-1.0103002419034612e-14, -55, 2),
    (6.7028138872831224, -54.590038340272706, 2),
    (14.235047480638617, -53.125920445898764, 2),
]
for x, y, group in _nodes:
    mi_addnode(x, y)
    if group:
        mi_selectnode(x, y)
        mi_setnodeprop('', group)
        mi_clearselected()
# Отрезки: индексы узлов, локальный размер, имя границы, видимость, группа.
_segments = [
    (0, 1, -1, "Нулевой потенциал", 0, 0),
    (1, 2, -1, "Нулевой потенциал", 0, 0),
    (2, 3, -1, "Нулевой потенциал", 0, 0),
    (3, 0, -1, "Нулевой потенциал", 0, 0),
    (35, 68, -1, "", 0, 0),
    (5, 70, -1, "", 0, 0),
    (6, 71, -1, "", 0, 0),
    (7, 72, -1, "", 0, 0),
    (8, 73, -1, "", 0, 0),
    (9, 74, -1, "", 0, 0),
    (11, 75, -1, "", 0, 0),
    (13, 77, -1, "", 0, 0),
    (15, 78, -1, "", 0, 0),
    (16, 79, -1, "", 0, 0),
    (17, 80, -1, "", 0, 0),
    (18, 81, -1, "", 0, 0),
    (19, 82, -1, "", 0, 0),
    (21, 84, -1, "", 0, 0),
    (22, 85, -1, "", 0, 0),
    (23, 86, -1, "", 0, 0),
    (24, 87, -1, "", 0, 0),
    (25, 88, -1, "", 0, 0),
    (27, 89, -1, "", 0, 0),
    (29, 91, -1, "", 0, 0),
    (31, 92, -1, "", 0, 0),
    (32, 93, -1, "", 0, 0),
    (33, 94, -1, "", 0, 0),
    (34, 95, -1, "", 0, 0),
    (160, 165, -1, "", 0, 2),
    (164, 169, -1, "", 0, 2),
    (170, 175, -1, "", 0, 2),
    (174, 179, -1, "", 0, 2),
]
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 = [
    (4, 5, 7, 10, "", 0, 0),
    (5, 6, 16, 10, "", 0, 0),
    (6, 7, 14, 10, "", 0, 0),
    (7, 8, 16, 10, "", 0, 0),
    (8, 9, 14, 10, "", 0, 0),
    (9, 10, 8, 10, "", 0, 0),
    (10, 11, 8, 10, "", 0, 0),
    (11, 12, 7, 10, "", 0, 0),
    (12, 13, 7, 10, "", 0, 0),
    (13, 14, 8, 10, "", 0, 0),
    (14, 15, 8, 10, "", 0, 0),
    (15, 16, 14, 10, "", 0, 0),
    (16, 17, 16, 10, "", 0, 0),
    (17, 18, 14, 10, "", 0, 0),
    (18, 19, 16, 10, "", 0, 0),
    (19, 20, 7, 10, "", 0, 0),
    (20, 21, 7, 10, "", 0, 0),
    (21, 22, 16, 10, "", 0, 0),
    (22, 23, 14, 10, "", 0, 0),
    (23, 24, 16, 10, "", 0, 0),
    (24, 25, 14, 10, "", 0, 0),
    (25, 26, 8, 10, "", 0, 0),
    (26, 27, 8, 10, "", 0, 0),
    (27, 28, 7, 10, "", 0, 0),
    (28, 29, 7, 10, "", 0, 0),
    (29, 30, 8, 10, "", 0, 0),
    (30, 31, 8, 10, "", 0, 0),
    (31, 32, 14, 10, "", 0, 0),
    (32, 33, 16, 10, "", 0, 0),
    (33, 34, 14, 10, "", 0, 0),
    (34, 35, 16, 10, "", 0, 0),
    (35, 4, 7, 10, "", 0, 0),
    (36, 37, 7, 10, "", 0, 0),
    (37, 38, 16, 10, "", 0, 0),
    (38, 39, 14, 10, "", 0, 0),
    (39, 40, 16, 10, "", 0, 0),
    (40, 41, 14, 10, "", 0, 0),
    (41, 42, 8, 10, "", 0, 0),
    (42, 43, 8, 10, "", 0, 0),
    (43, 44, 7, 10, "", 0, 0),
    (44, 45, 7, 10, "", 0, 0),
    (45, 46, 8, 10, "", 0, 0),
    (46, 47, 8, 10, "", 0, 0),
    (47, 48, 14, 10, "", 0, 0),
    (48, 49, 16, 10, "", 0, 0),
    (49, 50, 14, 10, "", 0, 0),
    (50, 51, 16, 10, "", 0, 0),
    (51, 52, 7, 10, "", 0, 0),
    (52, 53, 7, 10, "", 0, 0),
    (53, 54, 16, 10, "", 0, 0),
    (54, 55, 14, 10, "", 0, 0),
    (55, 56, 16, 10, "", 0, 0),
    (56, 57, 14, 10, "", 0, 0),
    (57, 58, 8, 10, "", 0, 0),
    (58, 59, 8, 10, "", 0, 0),
    (59, 60, 7, 10, "", 0, 0),
    (60, 61, 7, 10, "", 0, 0),
    (61, 62, 8, 10, "", 0, 0),
    (62, 63, 8, 10, "", 0, 0),
    (63, 64, 14, 10, "", 0, 0),
    (64, 65, 16, 10, "", 0, 0),
    (65, 66, 14, 10, "", 0, 0),
    (66, 67, 16, 10, "", 0, 0),
    (67, 36, 7, 10, "", 0, 0),
    (68, 69, 7, 10, "", 0, 0),
    (69, 70, 7, 10, "", 0, 0),
    (71, 72, 14, 10, "", 0, 0),
    (73, 74, 14, 10, "", 0, 0),
    (75, 76, 7, 10, "", 0, 0),
    (76, 77, 7, 10, "", 0, 0),
    (78, 79, 14, 10, "", 0, 0),
    (80, 81, 14, 10, "", 0, 0),
    (82, 83, 7, 10, "", 0, 0),
    (83, 84, 7, 10, "", 0, 0),
    (85, 86, 14, 10, "", 0, 0),
    (87, 88, 14, 10, "", 0, 0),
    (89, 90, 7, 10, "", 0, 0),
    (90, 91, 7, 10, "", 0, 0),
    (92, 93, 14, 10, "", 0, 0),
    (94, 95, 14, 10, "", 0, 0),
    (96, 97, 7, 10, "", 0, 2),
    (97, 98, 16, 10, "", 0, 2),
    (98, 99, 14, 10, "", 0, 2),
    (99, 100, 16, 10, "", 0, 2),
    (100, 101, 14, 10, "", 0, 2),
    (101, 102, 8, 10, "", 0, 2),
    (102, 103, 8, 10, "", 0, 2),
    (103, 104, 7, 10, "", 0, 2),
    (104, 105, 7, 10, "", 0, 2),
    (105, 106, 8, 10, "", 0, 2),
    (106, 107, 8, 10, "", 0, 2),
    (107, 108, 14, 10, "", 0, 2),
    (108, 109, 16, 10, "", 0, 2),
    (109, 110, 14, 10, "", 0, 2),
    (110, 111, 16, 10, "", 0, 2),
    (111, 112, 7, 10, "", 0, 2),
    (112, 113, 7, 10, "", 0, 2),
    (113, 114, 16, 10, "", 0, 2),
    (114, 115, 14, 10, "", 0, 2),
    (115, 116, 16, 10, "", 0, 2),
    (116, 117, 14, 10, "", 0, 2),
    (117, 118, 8, 10, "", 0, 2),
    (118, 119, 8, 10, "", 0, 2),
    (119, 120, 7, 10, "", 0, 2),
    (120, 121, 7, 10, "", 0, 2),
    (121, 122, 8, 10, "", 0, 2),
    (122, 123, 8, 10, "", 0, 2),
    (123, 124, 14, 10, "", 0, 2),
    (124, 125, 16, 10, "", 0, 2),
    (125, 126, 14, 10, "", 0, 2),
    (126, 127, 16, 10, "", 0, 2),
    (127, 96, 7, 10, "", 0, 2),
    (128, 129, 7, 10, "", 0, 2),
    (129, 130, 16, 10, "", 0, 2),
    (130, 131, 14, 10, "", 0, 2),
    (131, 132, 16, 10, "", 0, 2),
    (132, 133, 14, 10, "", 0, 2),
    (133, 134, 8, 10, "", 0, 2),
    (134, 135, 8, 10, "", 0, 2),
    (135, 136, 7, 10, "", 0, 2),
    (136, 137, 7, 10, "", 0, 2),
    (137, 138, 8, 10, "", 0, 2),
    (138, 139, 8, 10, "", 0, 2),
    (139, 140, 14, 10, "", 0, 2),
    (140, 141, 16, 10, "", 0, 2),
    (141, 142, 14, 10, "", 0, 2),
    (142, 143, 16, 10, "", 0, 2),
    (143, 144, 7, 10, "", 0, 2),
    (144, 145, 7, 10, "", 0, 2),
    (145, 146, 16, 10, "", 0, 2),
    (146, 147, 14, 10, "", 0, 2),
    (147, 148, 16, 10, "", 0, 2),
    (148, 149, 14, 10, "", 0, 2),
    (149, 150, 8, 10, "", 0, 2),
    (150, 151, 8, 10, "", 0, 2),
    (151, 152, 7, 10, "", 0, 2),
    (152, 153, 7, 10, "", 0, 2),
    (153, 154, 8, 10, "", 0, 2),
    (154, 155, 8, 10, "", 0, 2),
    (155, 156, 14, 10, "", 0, 2),
    (156, 157, 16, 10, "", 0, 2),
    (157, 158, 14, 10, "", 0, 2),
    (158, 159, 16, 10, "", 0, 2),
    (159, 128, 7, 10, "", 0, 2),
    (160, 161, 8, 10, "", 0, 2),
    (161, 162, 7, 10, "", 0, 2),
    (162, 163, 7, 10, "", 0, 2),
    (163, 164, 8, 10, "", 0, 2),
    (165, 166, 8, 10, "", 0, 2),
    (166, 167, 7, 10, "", 0, 2),
    (167, 168, 7, 10, "", 0, 2),
    (168, 169, 8, 10, "", 0, 2),
    (170, 171, 8, 10, "", 0, 2),
    (171, 172, 7, 10, "", 0, 2),
    (172, 173, 7, 10, "", 0, 2),
    (173, 174, 8, 10, "", 0, 2),
    (175, 176, 8, 10, "", 0, 2),
    (176, 177, 7, 10, "", 0, 2),
    (177, 178, 7, 10, "", 0, 2),
    (178, 179, 8, 10, "", 0, 2),
]
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 = [
    (144.5, 144.5, "", 0, "", 0, 0, 1),
    (0, 94, "", 0, "", 0, 0, 1),
    (73, 0, "", 0, "", 0, 0, 1),
    (63.219854476264025, 36.499999999999993, "", 0, "", 0, 0, 1),
    (36.500000000000007, 63.219854476264018, "", 0, "", 0, 0, 1),
    (4.469813191451677e-15, 73, "", 0, "", 0, 0, 1),
    (-36.499999999999986, 63.219854476264025, "", 0, "", 0, 0, 1),
    (-63.219854476264025, 36.499999999999993, "", 0, "", 0, 0, 1),
    (-73, 8.939626382903354e-15, "", 0, "", 0, 0, 1),
    (-63.219854476264018, -36.500000000000007, "", 0, "", 0, 0, 1),
    (-36.500000000000036, -63.219854476264004, "", 0, "", 0, 0, 1),
    (-1.3409439574355031e-14, -73, "", 0, "", 0, 0, 1),
    (36.500000000000007, -63.219854476264018, "", 0, "", 0, 0, 1),
    (63.219854476264004, -36.500000000000036, "", 0, "", 0, 0, 1),
    (27, 0, "", 0, "", 0, 0, 1),
    (2.6329036607181111e-15, 43, "", 0, "", 0, 0, 1),
    (-7.8987109821543333e-15, -43, "", 0, "", 0, 0, 1),
    (0, 0, "", 0, "", 0, 0, 1),
    (56.421980601819094, 17.249930578641468, "", 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. Модель неполная: переходите к следующему этапу, не запускайте решение.")
Синхронная машина с неявнополюсным ротором. Шаг 7: Метки замкнутых областей.
Рисунок 24.42. Синхронная машина с неявнополюсным ротором. Шаг 7: Метки замкнутых областей. Открыть в полном размере

Перейти к следующему этапу →

Этап 8 из 11

Назначения материалов и обмоток

  1. Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
  2. Выделяйте метки по координатам и открывайте их свойства (Block Label Properties). Назначьте материал, цепь и число витков со знаком из полной таблицы.
  3. Для магнитов задайте направление намагничивания: число означает угол в градусах; theta и theta+180 — функции координат, поэтому их английские технические идентификаторы сохраняются.
  4. Восстановите группы: группа 2 используется для выделения ротора или отдельного якоря при вычислении силы/момента, если это предусмотрено вариантом.
  5. Материалы и обмотки уже назначены, но локальные размеры сетки этого промежуточного файла ещё автоматические. Не запускайте расчёт: сначала перейдите к следующему этапу и восстановите указанные там ограничения сетки.
Назначения выполнены, но эталонные ограничения сетки ещё не восстановлены. Расчёт пока не запускать.

Широкую таблицу можно прокрутить по горизонтали.

Таблица 24.35. Материалы, цепи и витки каждой области
№x или r, ммy или z, ммМатериалЦепьВитки со знакомНамагничиваниеГруппа
0144,5144,5ВоздухНет10^\circ0
1094Линейная стальНет10^\circ1
2730Обмоточная областьФаза А400^\circ1
363,2236,5Обмоточная областьФаза А400^\circ1
436,563,22Обмоточная областьФаза С-400^\circ1
5073Обмоточная областьФаза С-400^\circ1
6-36,563,22Обмоточная областьФаза В400^\circ1
7-63,2236,5Обмоточная областьФаза В400^\circ1
8-730Обмоточная областьФаза А-400^\circ1
9-63,22-36,5Обмоточная областьФаза А-400^\circ1
10-36,5-63,22Обмоточная областьФаза С400^\circ1
110-73Обмоточная областьФаза С400^\circ1
1236,5-63,22Обмоточная областьФаза В-400^\circ1
1363,22-36,5Обмоточная областьФаза В-400^\circ1
14270Линейная стальНет10^\circ2
15043Обмоточная областьОбмотка возбуждения2000^\circ2
160-43Обмоточная областьОбмотка возбуждения-2000^\circ2
1700ВоздухНет10^\circ2
1856,4217,25ВоздухНет10^\circ0

Сохранённое состояние этапа

Промежуточный этап построения. Перед расчётом завершите оставшиеся настройки модели.

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Синхронная машина с неявнополюсным ротором
# Шаг 8: Назначения материалов и обмоток
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(0, "millimeters", "planar", 1e-08, 80, 25, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
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_addmaterial("Линейная сталь", 1000, 1000, 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_addbhpoint("Нелинейная сталь", 0, 0)
mi_addbhpoint("Нелинейная сталь", 0.25, 100)
mi_addbhpoint("Нелинейная сталь", 0.5, 200)
mi_addbhpoint("Нелинейная сталь", 0.90000000000000002, 400)
mi_addbhpoint("Нелинейная сталь", 1.2, 800)
mi_addbhpoint("Нелинейная сталь", 1.45, 2000)
mi_addbhpoint("Нелинейная сталь", 1.6000000000000001, 5000)
mi_addbhpoint("Нелинейная сталь", 1.7, 10000)
mi_addmaterial("Постоянный магнит", 1.05, 1.05, 909456.81766797334, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Фаза А", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза В", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза С", complex(-2, 0), 1)
mi_addcircprop("Обмотка возбуждения", complex(2, 0), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
    (-170, -170, 0),
    (170, -170, 0),
    (170, 170, 0),
    (-170, 170, 0),
    (60, 0, 0),
    (59.552769098479317, 7.3121606043088487, 0),
    (55.230291207146422, 23.443867709356425, 0),
    (47.918130602837572, 36.108901389122899, 0),
    (36.108901389122906, 47.918130602837572, 0),
    (23.443867709356422, 55.230291207146422, 0),
    (15.529142706151244, 57.955549577344101, 0),
    (7.3121606043088496, 59.552769098479317, 0),
    (3.6738190614671318e-15, 60, 0),
    (-7.3121606043088416, 59.552769098479324, 0),
    (-15.529142706151251, 57.955549577344101, 0),
    (-23.443867709356425, 55.230291207146415, 0),
    (-36.108901389122906, 47.918130602837564, 0),
    (-47.918130602837579, 36.108901389122892, 0),
    (-55.230291207146422, 23.443867709356425, 0),
    (-59.552769098479317, 7.3121606043088523, 0),
    (-60, 7.3476381229342635e-15, 0),
    (-59.552769098479324, -7.312160604308839, 0),
    (-55.230291207146422, -23.443867709356415, 0),
    (-47.918130602837572, -36.108901389122906, 0),
    (-36.108901389122899, -47.918130602837572, 0),
    (-23.443867709356429, -55.230291207146415, 0),
    (-15.529142706151237, -57.955549577344101, 0),
    (-7.3121606043088301, -59.552769098479324, 0),
    (-1.1021457184401395e-14, -60, 0),
    (7.3121606043088612, -59.552769098479317, 0),
    (15.529142706151218, -57.955549577344108, 0),
    (23.443867709356411, -55.230291207146429, 0),
    (36.108901389122877, -47.918130602837586, 0),
    (47.918130602837572, -36.108901389122899, 0),
    (55.230291207146415, -23.443867709356432, 0),
    (59.552769098479324, -7.3121606043088336, 0),
    (100, 0, 0),
    (99.254615164132204, 12.186934340514748, 0),
    (92.050485345244041, 39.07311284892738, 0),
    (79.863551004729288, 60.181502315204824, 0),
    (60.181502315204838, 79.863551004729288, 0),
    (39.073112848927373, 92.050485345244041, 0),
    (25.881904510252074, 96.592582628906825, 0),
    (12.18693434051475, 99.254615164132204, 0),
    (6.1230317691118863e-15, 100, 0),
    (-12.186934340514737, 99.254615164132204, 0),
    (-25.881904510252085, 96.592582628906825, 0),
    (-39.07311284892738, 92.050485345244027, 0),
    (-60.181502315204838, 79.863551004729274, 0),
    (-79.863551004729288, 60.181502315204817, 0),
    (-92.050485345244041, 39.07311284892738, 0),
    (-99.254615164132204, 12.186934340514755, 0),
    (-100, 1.2246063538223773e-14, 0),
    (-99.254615164132204, -12.18693434051473, 0),
    (-92.050485345244041, -39.073112848927352, 0),
    (-79.863551004729288, -60.181502315204838, 0),
    (-60.181502315204824, -79.863551004729288, 0),
    (-39.07311284892738, -92.050485345244027, 0),
    (-25.881904510252063, -96.592582628906825, 0),
    (-12.186934340514718, -99.254615164132204, 0),
    (-1.8369095307335659e-14, -100, 0),
    (12.186934340514769, -99.254615164132204, 0),
    (25.881904510252028, -96.59258262890684, 0),
    (39.073112848927352, -92.050485345244056, 0),
    (60.181502315204796, -79.863551004729302, 0),
    (79.863551004729288, -60.181502315204824, 0),
    (92.050485345244027, -39.073112848927387, 0),
    (99.254615164132204, -12.186934340514723, 0),
    (84.366422889512378, -10.358894189437514, 0),
    (85, -2.0818308014980413e-14, 0),
    (84.366422889512364, 10.358894189437548, 0),
    (78.242912543457436, 33.212145921588274, 0),
    (67.884018354019886, 51.154276967924105, 0),
    (51.154276967924112, 67.884018354019886, 0),
    (33.212145921588267, 78.242912543457436, 0),
    (10.358894189437537, 84.366422889512364, 0),
    (5.2045770037451033e-15, 85, 0),
    (-10.358894189437526, 84.366422889512378, 0),
    (-33.212145921588274, 78.242912543457422, 0),
    (-51.154276967924112, 67.884018354019886, 0),
    (-67.884018354019901, 51.154276967924091, 0),
    (-78.242912543457436, 33.212145921588274, 0),
    (-84.366422889512364, 10.358894189437541, 0),
    (-85, 1.0409154007490207e-14, 0),
    (-84.366422889512378, -10.358894189437521, 0),
    (-78.242912543457436, -33.212145921588252, 0),
    (-67.884018354019886, -51.154276967924112, 0),
    (-51.154276967924105, -67.884018354019886, 0),
    (-33.212145921588274, -78.242912543457422, 0),
    (-10.35889418943751, -84.366422889512378, 0),
    (-1.561373101123531e-14, -85, 0),
    (10.358894189437553, -84.366422889512364, 0),
    (33.212145921588245, -78.242912543457436, 0),
    (51.154276967924076, -67.884018354019915, 0),
    (67.884018354019886, -51.154276967924105, 0),
    (78.242912543457422, -33.212145921588281, 0),
    (18, 0, 2),
    (17.865830729543795, 2.1936481812926547, 2),
    (16.569087362143925, 7.0331603128069275, 2),
    (14.37543918085127, 10.832670416736869, 2),
    (10.832670416736871, 14.37543918085127, 2),
    (7.0331603128069267, 16.569087362143925, 2),
    (4.6587428118453733, 17.38666487320323, 2),
    (2.1936481812926547, 17.865830729543795, 2),
    (1.1021457184401395e-15, 18, 2),
    (-2.1936481812926525, 17.865830729543799, 2),
    (-4.6587428118453751, 17.38666487320323, 2),
    (-7.0331603128069275, 16.569087362143925, 2),
    (-10.832670416736871, 14.375439180851268, 2),
    (-14.375439180851274, 10.832670416736867, 2),
    (-16.569087362143925, 7.0331603128069275, 2),
    (-17.865830729543795, 2.193648181292656, 2),
    (-18, 2.2042914368802791e-15, 2),
    (-17.865830729543799, -2.1936481812926516, 2),
    (-16.569087362143925, -7.033160312806924, 2),
    (-14.37543918085127, -10.832670416736871, 2),
    (-10.832670416736869, -14.37543918085127, 2),
    (-7.0331603128069293, -16.569087362143925, 2),
    (-4.6587428118453715, -17.38666487320323, 2),
    (-2.1936481812926489, -17.865830729543799, 2),
    (-3.3064371553204186e-15, -18, 2),
    (2.1936481812926583, -17.865830729543795, 2),
    (4.6587428118453653, -17.38666487320323, 2),
    (7.0331603128069231, -16.569087362143929, 2),
    (10.832670416736862, -14.375439180851275, 2),
    (14.37543918085127, -10.832670416736869, 2),
    (16.569087362143925, -7.0331603128069302, 2),
    (17.865830729543799, -2.1936481812926503, 2),
    (58, 0, 2),
    (57.567676795196675, 7.0684219174985534, 2),
    (53.389281500241545, 22.662405452377879, 2),
    (46.320859582742983, 34.9052713428188, 2),
    (34.905271342818807, 46.320859582742983, 2),
    (22.662405452377875, 53.389281500241545, 2),
    (15.011504615946203, 56.023697924765962, 2),
    (7.0684219174985543, 57.567676795196675, 2),
    (3.551358426084894e-15, 58, 2),
    (-7.0684219174985472, 57.567676795196682, 2),
    (-15.01150461594621, 56.023697924765962, 2),
    (-22.662405452377879, 53.389281500241538, 2),
    (-34.905271342818807, 46.320859582742976, 2),
    (-46.32085958274299, 34.905271342818793, 2),
    (-53.389281500241545, 22.662405452377879, 2),
    (-57.567676795196675, 7.0684219174985579, 2),
    (-58, 7.1027168521697881e-15, 2),
    (-57.567676795196682, -7.0684219174985436, 2),
    (-53.389281500241545, -22.662405452377865, 2),
    (-46.320859582742983, -34.905271342818807, 2),
    (-34.9052713428188, -46.320859582742983, 2),
    (-22.662405452377882, -53.389281500241538, 2),
    (-15.011504615946196, -56.023697924765962, 2),
    (-7.0684219174985357, -57.567676795196682, 2),
    (-1.0654075278254682e-14, -58, 2),
    (7.0684219174985659, -57.567676795196675, 2),
    (15.011504615946176, -56.023697924765969, 2),
    (22.662405452377861, -53.389281500241552, 2),
    (34.905271342818779, -46.320859582742997, 2),
    (46.320859582742983, -34.9052713428188, 2),
    (53.389281500241538, -22.662405452377886, 2),
    (57.567676795196682, -7.0684219174985392, 2),
    (7.7645713530756222, 28.97777478867205, 2),
    (3.6560803021544248, 29.776384549239658, 2),
    (1.8369095307335659e-15, 30, 2),
    (-3.6560803021544208, 29.776384549239662, 2),
    (-7.7645713530756257, 28.97777478867205, 2),
    (14.235047480638642, 53.125920445898757, 2),
    (6.7028138872831118, 54.590038340272706, 2),
    (3.3676674730115375e-15, 55, 2),
    (-6.7028138872831047, 54.590038340272713, 2),
    (-14.235047480638647, 53.125920445898757, 2),
    (-7.7645713530756186, -28.97777478867205, 2),
    (-3.656080302154415, -29.776384549239662, 2),
    (-5.5107285922006977e-15, -30, 2),
    (3.6560803021544306, -29.776384549239658, 2),
    (7.7645713530756089, -28.977774788672054, 2),
    (-14.235047480638634, -53.125920445898757, 2),
    (-6.702813887283094, -54.590038340272713, 2),
    (-1.0103002419034612e-14, -55, 2),
    (6.7028138872831224, -54.590038340272706, 2),
    (14.235047480638617, -53.125920445898764, 2),
]
for x, y, group in _nodes:
    mi_addnode(x, y)
    if group:
        mi_selectnode(x, y)
        mi_setnodeprop('', group)
        mi_clearselected()
# Отрезки: индексы узлов, локальный размер, имя границы, видимость, группа.
_segments = [
    (0, 1, -1, "Нулевой потенциал", 0, 0),
    (1, 2, -1, "Нулевой потенциал", 0, 0),
    (2, 3, -1, "Нулевой потенциал", 0, 0),
    (3, 0, -1, "Нулевой потенциал", 0, 0),
    (35, 68, -1, "", 0, 0),
    (5, 70, -1, "", 0, 0),
    (6, 71, -1, "", 0, 0),
    (7, 72, -1, "", 0, 0),
    (8, 73, -1, "", 0, 0),
    (9, 74, -1, "", 0, 0),
    (11, 75, -1, "", 0, 0),
    (13, 77, -1, "", 0, 0),
    (15, 78, -1, "", 0, 0),
    (16, 79, -1, "", 0, 0),
    (17, 80, -1, "", 0, 0),
    (18, 81, -1, "", 0, 0),
    (19, 82, -1, "", 0, 0),
    (21, 84, -1, "", 0, 0),
    (22, 85, -1, "", 0, 0),
    (23, 86, -1, "", 0, 0),
    (24, 87, -1, "", 0, 0),
    (25, 88, -1, "", 0, 0),
    (27, 89, -1, "", 0, 0),
    (29, 91, -1, "", 0, 0),
    (31, 92, -1, "", 0, 0),
    (32, 93, -1, "", 0, 0),
    (33, 94, -1, "", 0, 0),
    (34, 95, -1, "", 0, 0),
    (160, 165, -1, "", 0, 2),
    (164, 169, -1, "", 0, 2),
    (170, 175, -1, "", 0, 2),
    (174, 179, -1, "", 0, 2),
]
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 = [
    (4, 5, 7, 10, "", 0, 0),
    (5, 6, 16, 10, "", 0, 0),
    (6, 7, 14, 10, "", 0, 0),
    (7, 8, 16, 10, "", 0, 0),
    (8, 9, 14, 10, "", 0, 0),
    (9, 10, 8, 10, "", 0, 0),
    (10, 11, 8, 10, "", 0, 0),
    (11, 12, 7, 10, "", 0, 0),
    (12, 13, 7, 10, "", 0, 0),
    (13, 14, 8, 10, "", 0, 0),
    (14, 15, 8, 10, "", 0, 0),
    (15, 16, 14, 10, "", 0, 0),
    (16, 17, 16, 10, "", 0, 0),
    (17, 18, 14, 10, "", 0, 0),
    (18, 19, 16, 10, "", 0, 0),
    (19, 20, 7, 10, "", 0, 0),
    (20, 21, 7, 10, "", 0, 0),
    (21, 22, 16, 10, "", 0, 0),
    (22, 23, 14, 10, "", 0, 0),
    (23, 24, 16, 10, "", 0, 0),
    (24, 25, 14, 10, "", 0, 0),
    (25, 26, 8, 10, "", 0, 0),
    (26, 27, 8, 10, "", 0, 0),
    (27, 28, 7, 10, "", 0, 0),
    (28, 29, 7, 10, "", 0, 0),
    (29, 30, 8, 10, "", 0, 0),
    (30, 31, 8, 10, "", 0, 0),
    (31, 32, 14, 10, "", 0, 0),
    (32, 33, 16, 10, "", 0, 0),
    (33, 34, 14, 10, "", 0, 0),
    (34, 35, 16, 10, "", 0, 0),
    (35, 4, 7, 10, "", 0, 0),
    (36, 37, 7, 10, "", 0, 0),
    (37, 38, 16, 10, "", 0, 0),
    (38, 39, 14, 10, "", 0, 0),
    (39, 40, 16, 10, "", 0, 0),
    (40, 41, 14, 10, "", 0, 0),
    (41, 42, 8, 10, "", 0, 0),
    (42, 43, 8, 10, "", 0, 0),
    (43, 44, 7, 10, "", 0, 0),
    (44, 45, 7, 10, "", 0, 0),
    (45, 46, 8, 10, "", 0, 0),
    (46, 47, 8, 10, "", 0, 0),
    (47, 48, 14, 10, "", 0, 0),
    (48, 49, 16, 10, "", 0, 0),
    (49, 50, 14, 10, "", 0, 0),
    (50, 51, 16, 10, "", 0, 0),
    (51, 52, 7, 10, "", 0, 0),
    (52, 53, 7, 10, "", 0, 0),
    (53, 54, 16, 10, "", 0, 0),
    (54, 55, 14, 10, "", 0, 0),
    (55, 56, 16, 10, "", 0, 0),
    (56, 57, 14, 10, "", 0, 0),
    (57, 58, 8, 10, "", 0, 0),
    (58, 59, 8, 10, "", 0, 0),
    (59, 60, 7, 10, "", 0, 0),
    (60, 61, 7, 10, "", 0, 0),
    (61, 62, 8, 10, "", 0, 0),
    (62, 63, 8, 10, "", 0, 0),
    (63, 64, 14, 10, "", 0, 0),
    (64, 65, 16, 10, "", 0, 0),
    (65, 66, 14, 10, "", 0, 0),
    (66, 67, 16, 10, "", 0, 0),
    (67, 36, 7, 10, "", 0, 0),
    (68, 69, 7, 10, "", 0, 0),
    (69, 70, 7, 10, "", 0, 0),
    (71, 72, 14, 10, "", 0, 0),
    (73, 74, 14, 10, "", 0, 0),
    (75, 76, 7, 10, "", 0, 0),
    (76, 77, 7, 10, "", 0, 0),
    (78, 79, 14, 10, "", 0, 0),
    (80, 81, 14, 10, "", 0, 0),
    (82, 83, 7, 10, "", 0, 0),
    (83, 84, 7, 10, "", 0, 0),
    (85, 86, 14, 10, "", 0, 0),
    (87, 88, 14, 10, "", 0, 0),
    (89, 90, 7, 10, "", 0, 0),
    (90, 91, 7, 10, "", 0, 0),
    (92, 93, 14, 10, "", 0, 0),
    (94, 95, 14, 10, "", 0, 0),
    (96, 97, 7, 10, "", 0, 2),
    (97, 98, 16, 10, "", 0, 2),
    (98, 99, 14, 10, "", 0, 2),
    (99, 100, 16, 10, "", 0, 2),
    (100, 101, 14, 10, "", 0, 2),
    (101, 102, 8, 10, "", 0, 2),
    (102, 103, 8, 10, "", 0, 2),
    (103, 104, 7, 10, "", 0, 2),
    (104, 105, 7, 10, "", 0, 2),
    (105, 106, 8, 10, "", 0, 2),
    (106, 107, 8, 10, "", 0, 2),
    (107, 108, 14, 10, "", 0, 2),
    (108, 109, 16, 10, "", 0, 2),
    (109, 110, 14, 10, "", 0, 2),
    (110, 111, 16, 10, "", 0, 2),
    (111, 112, 7, 10, "", 0, 2),
    (112, 113, 7, 10, "", 0, 2),
    (113, 114, 16, 10, "", 0, 2),
    (114, 115, 14, 10, "", 0, 2),
    (115, 116, 16, 10, "", 0, 2),
    (116, 117, 14, 10, "", 0, 2),
    (117, 118, 8, 10, "", 0, 2),
    (118, 119, 8, 10, "", 0, 2),
    (119, 120, 7, 10, "", 0, 2),
    (120, 121, 7, 10, "", 0, 2),
    (121, 122, 8, 10, "", 0, 2),
    (122, 123, 8, 10, "", 0, 2),
    (123, 124, 14, 10, "", 0, 2),
    (124, 125, 16, 10, "", 0, 2),
    (125, 126, 14, 10, "", 0, 2),
    (126, 127, 16, 10, "", 0, 2),
    (127, 96, 7, 10, "", 0, 2),
    (128, 129, 7, 10, "", 0, 2),
    (129, 130, 16, 10, "", 0, 2),
    (130, 131, 14, 10, "", 0, 2),
    (131, 132, 16, 10, "", 0, 2),
    (132, 133, 14, 10, "", 0, 2),
    (133, 134, 8, 10, "", 0, 2),
    (134, 135, 8, 10, "", 0, 2),
    (135, 136, 7, 10, "", 0, 2),
    (136, 137, 7, 10, "", 0, 2),
    (137, 138, 8, 10, "", 0, 2),
    (138, 139, 8, 10, "", 0, 2),
    (139, 140, 14, 10, "", 0, 2),
    (140, 141, 16, 10, "", 0, 2),
    (141, 142, 14, 10, "", 0, 2),
    (142, 143, 16, 10, "", 0, 2),
    (143, 144, 7, 10, "", 0, 2),
    (144, 145, 7, 10, "", 0, 2),
    (145, 146, 16, 10, "", 0, 2),
    (146, 147, 14, 10, "", 0, 2),
    (147, 148, 16, 10, "", 0, 2),
    (148, 149, 14, 10, "", 0, 2),
    (149, 150, 8, 10, "", 0, 2),
    (150, 151, 8, 10, "", 0, 2),
    (151, 152, 7, 10, "", 0, 2),
    (152, 153, 7, 10, "", 0, 2),
    (153, 154, 8, 10, "", 0, 2),
    (154, 155, 8, 10, "", 0, 2),
    (155, 156, 14, 10, "", 0, 2),
    (156, 157, 16, 10, "", 0, 2),
    (157, 158, 14, 10, "", 0, 2),
    (158, 159, 16, 10, "", 0, 2),
    (159, 128, 7, 10, "", 0, 2),
    (160, 161, 8, 10, "", 0, 2),
    (161, 162, 7, 10, "", 0, 2),
    (162, 163, 7, 10, "", 0, 2),
    (163, 164, 8, 10, "", 0, 2),
    (165, 166, 8, 10, "", 0, 2),
    (166, 167, 7, 10, "", 0, 2),
    (167, 168, 7, 10, "", 0, 2),
    (168, 169, 8, 10, "", 0, 2),
    (170, 171, 8, 10, "", 0, 2),
    (171, 172, 7, 10, "", 0, 2),
    (172, 173, 7, 10, "", 0, 2),
    (173, 174, 8, 10, "", 0, 2),
    (175, 176, 8, 10, "", 0, 2),
    (176, 177, 7, 10, "", 0, 2),
    (177, 178, 7, 10, "", 0, 2),
    (178, 179, 8, 10, "", 0, 2),
]
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 = [
    (144.5, 144.5, "Воздух", 0, "", 0, 0, 1),
    (0, 94, "Линейная сталь", 0, "", 0, 1, 1),
    (73, 0, "Обмоточная область", 0, "Фаза А", 0, 1, 40),
    (63.219854476264025, 36.499999999999993, "Обмоточная область", 0, "Фаза А", 0, 1, 40),
    (36.500000000000007, 63.219854476264018, "Обмоточная область", 0, "Фаза С", 0, 1, -40),
    (4.469813191451677e-15, 73, "Обмоточная область", 0, "Фаза С", 0, 1, -40),
    (-36.499999999999986, 63.219854476264025, "Обмоточная область", 0, "Фаза В", 0, 1, 40),
    (-63.219854476264025, 36.499999999999993, "Обмоточная область", 0, "Фаза В", 0, 1, 40),
    (-73, 8.939626382903354e-15, "Обмоточная область", 0, "Фаза А", 0, 1, -40),
    (-63.219854476264018, -36.500000000000007, "Обмоточная область", 0, "Фаза А", 0, 1, -40),
    (-36.500000000000036, -63.219854476264004, "Обмоточная область", 0, "Фаза С", 0, 1, 40),
    (-1.3409439574355031e-14, -73, "Обмоточная область", 0, "Фаза С", 0, 1, 40),
    (36.500000000000007, -63.219854476264018, "Обмоточная область", 0, "Фаза В", 0, 1, -40),
    (63.219854476264004, -36.500000000000036, "Обмоточная область", 0, "Фаза В", 0, 1, -40),
    (27, 0, "Линейная сталь", 0, "", 0, 2, 1),
    (2.6329036607181111e-15, 43, "Обмоточная область", 0, "Обмотка возбуждения", 0, 2, 200),
    (-7.8987109821543333e-15, -43, "Обмоточная область", 0, "Обмотка возбуждения", 0, 2, -200),
    (0, 0, "Воздух", 0, "", 0, 2, 1),
    (56.421980601819094, 17.249930578641468, "Воздух", 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("Готов шаг 8. Модель неполная: переходите к следующему этапу, не запускайте решение.")
Синхронная машина с неявнополюсным ротором. Шаг 8: Назначения материалов и обмоток.
Рисунок 24.43. Синхронная машина с неявнополюсным ротором. Шаг 8: Назначения материалов и обмоток. Открыть в полном размере

Перейти к следующему этапу →

Этап 9 из 11

Локальные размеры сетки и готовая модель

  1. Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
  2. Откройте свойства каждой метки; снимите Auto mesh для положительного размера и укажите значение в миллиметрах. Нулевой либо отрицательный размер означает автоматический выбор.
  3. Проверьте ограничения длины на отрезках и угла на дугах по отдельным таблицам. Для дуги ограничение задаётся в градусах, а не в миллиметрах.
  4. Сверьте глобальный минимальный угол, умную сетку, материалы, токи, границы и все назначения. Теперь файл содержит полное состояние проверенного исходного варианта.
  5. Сохраните собственную рабочую копию через «Файл → Сохранить как». Изменённая пользователем копия должна рассчитываться заново; унаследованное решение ниже относится к неизменённому эталону.
Полная модель проверенного примера. После изменения параметров необходимо получить новое решение.

Широкую таблицу можно прокрутить по горизонтали.

Таблица 24.36. Локальные ограничения сетки по областям
№ меткиМатериалРазмер элемента, ммРежим
0Воздух8,5заданный
1Линейная сталь3заданный
2Обмоточная область2заданный
3Обмоточная область2заданный
4Обмоточная область2заданный
5Обмоточная область2заданный
6Обмоточная область2заданный
7Обмоточная область2заданный
8Обмоточная область2заданный
9Обмоточная область2заданный
10Обмоточная область2заданный
11Обмоточная область2заданный
12Обмоточная область2заданный
13Обмоточная область2заданный
14Линейная сталь2заданный
15Обмоточная область1заданный
16Обмоточная область1заданный
17Воздух2заданный
18Воздух0,35заданный

Широкую таблицу можно прокрутить по горизонтали.

Таблица 24.37. Ограничения сетки отрезков
№ отрезкаМаксимальная длина, ммРежим
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автоматический
Таблица 24.38. Ограничения сетки дуг
№ дугиМаксимальный угол элемента, {}^\circ
04
14
24
34
44
54
64
74
84
94
104
114
124
134
144
154
164
174
184
194
204
214
224
234
244
254
264
274
284
294
304
314
324
334
344
354
364
374
384
394
404
414
424
434
444
454
464
474
484
494
504
514
524
534
544
554
564
574
584
594
604
614
624
634
644
654
664
674
684
694
704
714
724
734
744
754
764
774
784
794
804
814
824
834
844
854
864
874
884
894
904
914
924
934
944
954
964
974
984
994
1004
1014
1024
1034
1044
1054
1064
1074
1084
1094
1104
1114
1124
1134
1144
1154
1164
1174
1184
1194
1204
1214
1224
1234
1244
1254
1264
1274
1284
1294
1304
1314
1324
1334
1344
1354
1364
1374
1384
1394
1404
1414
1424
1434
1444
1454
1464
1474
1484
1494
1504
1514
1524
1534
1544
1554
1564
1574
1584
1594

Сохранённое состояние этапа

Параметры этого файла подготовлены для расчёта.

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Синхронная машина с неявнополюсным ротором
# Шаг 9: Локальные размеры сетки и готовая модель
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(0, "millimeters", "planar", 1e-08, 80, 25, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
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_addmaterial("Линейная сталь", 1000, 1000, 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_addbhpoint("Нелинейная сталь", 0, 0)
mi_addbhpoint("Нелинейная сталь", 0.25, 100)
mi_addbhpoint("Нелинейная сталь", 0.5, 200)
mi_addbhpoint("Нелинейная сталь", 0.90000000000000002, 400)
mi_addbhpoint("Нелинейная сталь", 1.2, 800)
mi_addbhpoint("Нелинейная сталь", 1.45, 2000)
mi_addbhpoint("Нелинейная сталь", 1.6000000000000001, 5000)
mi_addbhpoint("Нелинейная сталь", 1.7, 10000)
mi_addmaterial("Постоянный магнит", 1.05, 1.05, 909456.81766797334, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Фаза А", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза В", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза С", complex(-2, 0), 1)
mi_addcircprop("Обмотка возбуждения", complex(2, 0), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
    (-170, -170, 0),
    (170, -170, 0),
    (170, 170, 0),
    (-170, 170, 0),
    (60, 0, 0),
    (59.552769098479317, 7.3121606043088487, 0),
    (55.230291207146422, 23.443867709356425, 0),
    (47.918130602837572, 36.108901389122899, 0),
    (36.108901389122906, 47.918130602837572, 0),
    (23.443867709356422, 55.230291207146422, 0),
    (15.529142706151244, 57.955549577344101, 0),
    (7.3121606043088496, 59.552769098479317, 0),
    (3.6738190614671318e-15, 60, 0),
    (-7.3121606043088416, 59.552769098479324, 0),
    (-15.529142706151251, 57.955549577344101, 0),
    (-23.443867709356425, 55.230291207146415, 0),
    (-36.108901389122906, 47.918130602837564, 0),
    (-47.918130602837579, 36.108901389122892, 0),
    (-55.230291207146422, 23.443867709356425, 0),
    (-59.552769098479317, 7.3121606043088523, 0),
    (-60, 7.3476381229342635e-15, 0),
    (-59.552769098479324, -7.312160604308839, 0),
    (-55.230291207146422, -23.443867709356415, 0),
    (-47.918130602837572, -36.108901389122906, 0),
    (-36.108901389122899, -47.918130602837572, 0),
    (-23.443867709356429, -55.230291207146415, 0),
    (-15.529142706151237, -57.955549577344101, 0),
    (-7.3121606043088301, -59.552769098479324, 0),
    (-1.1021457184401395e-14, -60, 0),
    (7.3121606043088612, -59.552769098479317, 0),
    (15.529142706151218, -57.955549577344108, 0),
    (23.443867709356411, -55.230291207146429, 0),
    (36.108901389122877, -47.918130602837586, 0),
    (47.918130602837572, -36.108901389122899, 0),
    (55.230291207146415, -23.443867709356432, 0),
    (59.552769098479324, -7.3121606043088336, 0),
    (100, 0, 0),
    (99.254615164132204, 12.186934340514748, 0),
    (92.050485345244041, 39.07311284892738, 0),
    (79.863551004729288, 60.181502315204824, 0),
    (60.181502315204838, 79.863551004729288, 0),
    (39.073112848927373, 92.050485345244041, 0),
    (25.881904510252074, 96.592582628906825, 0),
    (12.18693434051475, 99.254615164132204, 0),
    (6.1230317691118863e-15, 100, 0),
    (-12.186934340514737, 99.254615164132204, 0),
    (-25.881904510252085, 96.592582628906825, 0),
    (-39.07311284892738, 92.050485345244027, 0),
    (-60.181502315204838, 79.863551004729274, 0),
    (-79.863551004729288, 60.181502315204817, 0),
    (-92.050485345244041, 39.07311284892738, 0),
    (-99.254615164132204, 12.186934340514755, 0),
    (-100, 1.2246063538223773e-14, 0),
    (-99.254615164132204, -12.18693434051473, 0),
    (-92.050485345244041, -39.073112848927352, 0),
    (-79.863551004729288, -60.181502315204838, 0),
    (-60.181502315204824, -79.863551004729288, 0),
    (-39.07311284892738, -92.050485345244027, 0),
    (-25.881904510252063, -96.592582628906825, 0),
    (-12.186934340514718, -99.254615164132204, 0),
    (-1.8369095307335659e-14, -100, 0),
    (12.186934340514769, -99.254615164132204, 0),
    (25.881904510252028, -96.59258262890684, 0),
    (39.073112848927352, -92.050485345244056, 0),
    (60.181502315204796, -79.863551004729302, 0),
    (79.863551004729288, -60.181502315204824, 0),
    (92.050485345244027, -39.073112848927387, 0),
    (99.254615164132204, -12.186934340514723, 0),
    (84.366422889512378, -10.358894189437514, 0),
    (85, -2.0818308014980413e-14, 0),
    (84.366422889512364, 10.358894189437548, 0),
    (78.242912543457436, 33.212145921588274, 0),
    (67.884018354019886, 51.154276967924105, 0),
    (51.154276967924112, 67.884018354019886, 0),
    (33.212145921588267, 78.242912543457436, 0),
    (10.358894189437537, 84.366422889512364, 0),
    (5.2045770037451033e-15, 85, 0),
    (-10.358894189437526, 84.366422889512378, 0),
    (-33.212145921588274, 78.242912543457422, 0),
    (-51.154276967924112, 67.884018354019886, 0),
    (-67.884018354019901, 51.154276967924091, 0),
    (-78.242912543457436, 33.212145921588274, 0),
    (-84.366422889512364, 10.358894189437541, 0),
    (-85, 1.0409154007490207e-14, 0),
    (-84.366422889512378, -10.358894189437521, 0),
    (-78.242912543457436, -33.212145921588252, 0),
    (-67.884018354019886, -51.154276967924112, 0),
    (-51.154276967924105, -67.884018354019886, 0),
    (-33.212145921588274, -78.242912543457422, 0),
    (-10.35889418943751, -84.366422889512378, 0),
    (-1.561373101123531e-14, -85, 0),
    (10.358894189437553, -84.366422889512364, 0),
    (33.212145921588245, -78.242912543457436, 0),
    (51.154276967924076, -67.884018354019915, 0),
    (67.884018354019886, -51.154276967924105, 0),
    (78.242912543457422, -33.212145921588281, 0),
    (18, 0, 2),
    (17.865830729543795, 2.1936481812926547, 2),
    (16.569087362143925, 7.0331603128069275, 2),
    (14.37543918085127, 10.832670416736869, 2),
    (10.832670416736871, 14.37543918085127, 2),
    (7.0331603128069267, 16.569087362143925, 2),
    (4.6587428118453733, 17.38666487320323, 2),
    (2.1936481812926547, 17.865830729543795, 2),
    (1.1021457184401395e-15, 18, 2),
    (-2.1936481812926525, 17.865830729543799, 2),
    (-4.6587428118453751, 17.38666487320323, 2),
    (-7.0331603128069275, 16.569087362143925, 2),
    (-10.832670416736871, 14.375439180851268, 2),
    (-14.375439180851274, 10.832670416736867, 2),
    (-16.569087362143925, 7.0331603128069275, 2),
    (-17.865830729543795, 2.193648181292656, 2),
    (-18, 2.2042914368802791e-15, 2),
    (-17.865830729543799, -2.1936481812926516, 2),
    (-16.569087362143925, -7.033160312806924, 2),
    (-14.37543918085127, -10.832670416736871, 2),
    (-10.832670416736869, -14.37543918085127, 2),
    (-7.0331603128069293, -16.569087362143925, 2),
    (-4.6587428118453715, -17.38666487320323, 2),
    (-2.1936481812926489, -17.865830729543799, 2),
    (-3.3064371553204186e-15, -18, 2),
    (2.1936481812926583, -17.865830729543795, 2),
    (4.6587428118453653, -17.38666487320323, 2),
    (7.0331603128069231, -16.569087362143929, 2),
    (10.832670416736862, -14.375439180851275, 2),
    (14.37543918085127, -10.832670416736869, 2),
    (16.569087362143925, -7.0331603128069302, 2),
    (17.865830729543799, -2.1936481812926503, 2),
    (58, 0, 2),
    (57.567676795196675, 7.0684219174985534, 2),
    (53.389281500241545, 22.662405452377879, 2),
    (46.320859582742983, 34.9052713428188, 2),
    (34.905271342818807, 46.320859582742983, 2),
    (22.662405452377875, 53.389281500241545, 2),
    (15.011504615946203, 56.023697924765962, 2),
    (7.0684219174985543, 57.567676795196675, 2),
    (3.551358426084894e-15, 58, 2),
    (-7.0684219174985472, 57.567676795196682, 2),
    (-15.01150461594621, 56.023697924765962, 2),
    (-22.662405452377879, 53.389281500241538, 2),
    (-34.905271342818807, 46.320859582742976, 2),
    (-46.32085958274299, 34.905271342818793, 2),
    (-53.389281500241545, 22.662405452377879, 2),
    (-57.567676795196675, 7.0684219174985579, 2),
    (-58, 7.1027168521697881e-15, 2),
    (-57.567676795196682, -7.0684219174985436, 2),
    (-53.389281500241545, -22.662405452377865, 2),
    (-46.320859582742983, -34.905271342818807, 2),
    (-34.9052713428188, -46.320859582742983, 2),
    (-22.662405452377882, -53.389281500241538, 2),
    (-15.011504615946196, -56.023697924765962, 2),
    (-7.0684219174985357, -57.567676795196682, 2),
    (-1.0654075278254682e-14, -58, 2),
    (7.0684219174985659, -57.567676795196675, 2),
    (15.011504615946176, -56.023697924765969, 2),
    (22.662405452377861, -53.389281500241552, 2),
    (34.905271342818779, -46.320859582742997, 2),
    (46.320859582742983, -34.9052713428188, 2),
    (53.389281500241538, -22.662405452377886, 2),
    (57.567676795196682, -7.0684219174985392, 2),
    (7.7645713530756222, 28.97777478867205, 2),
    (3.6560803021544248, 29.776384549239658, 2),
    (1.8369095307335659e-15, 30, 2),
    (-3.6560803021544208, 29.776384549239662, 2),
    (-7.7645713530756257, 28.97777478867205, 2),
    (14.235047480638642, 53.125920445898757, 2),
    (6.7028138872831118, 54.590038340272706, 2),
    (3.3676674730115375e-15, 55, 2),
    (-6.7028138872831047, 54.590038340272713, 2),
    (-14.235047480638647, 53.125920445898757, 2),
    (-7.7645713530756186, -28.97777478867205, 2),
    (-3.656080302154415, -29.776384549239662, 2),
    (-5.5107285922006977e-15, -30, 2),
    (3.6560803021544306, -29.776384549239658, 2),
    (7.7645713530756089, -28.977774788672054, 2),
    (-14.235047480638634, -53.125920445898757, 2),
    (-6.702813887283094, -54.590038340272713, 2),
    (-1.0103002419034612e-14, -55, 2),
    (6.7028138872831224, -54.590038340272706, 2),
    (14.235047480638617, -53.125920445898764, 2),
]
for x, y, group in _nodes:
    mi_addnode(x, y)
    if group:
        mi_selectnode(x, y)
        mi_setnodeprop('', group)
        mi_clearselected()
# Отрезки: индексы узлов, локальный размер, имя границы, видимость, группа.
_segments = [
    (0, 1, -1, "Нулевой потенциал", 0, 0),
    (1, 2, -1, "Нулевой потенциал", 0, 0),
    (2, 3, -1, "Нулевой потенциал", 0, 0),
    (3, 0, -1, "Нулевой потенциал", 0, 0),
    (35, 68, -1, "", 0, 0),
    (5, 70, -1, "", 0, 0),
    (6, 71, -1, "", 0, 0),
    (7, 72, -1, "", 0, 0),
    (8, 73, -1, "", 0, 0),
    (9, 74, -1, "", 0, 0),
    (11, 75, -1, "", 0, 0),
    (13, 77, -1, "", 0, 0),
    (15, 78, -1, "", 0, 0),
    (16, 79, -1, "", 0, 0),
    (17, 80, -1, "", 0, 0),
    (18, 81, -1, "", 0, 0),
    (19, 82, -1, "", 0, 0),
    (21, 84, -1, "", 0, 0),
    (22, 85, -1, "", 0, 0),
    (23, 86, -1, "", 0, 0),
    (24, 87, -1, "", 0, 0),
    (25, 88, -1, "", 0, 0),
    (27, 89, -1, "", 0, 0),
    (29, 91, -1, "", 0, 0),
    (31, 92, -1, "", 0, 0),
    (32, 93, -1, "", 0, 0),
    (33, 94, -1, "", 0, 0),
    (34, 95, -1, "", 0, 0),
    (160, 165, -1, "", 0, 2),
    (164, 169, -1, "", 0, 2),
    (170, 175, -1, "", 0, 2),
    (174, 179, -1, "", 0, 2),
]
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 = [
    (4, 5, 7, 4, "", 0, 0),
    (5, 6, 16, 4, "", 0, 0),
    (6, 7, 14, 4, "", 0, 0),
    (7, 8, 16, 4, "", 0, 0),
    (8, 9, 14, 4, "", 0, 0),
    (9, 10, 8, 4, "", 0, 0),
    (10, 11, 8, 4, "", 0, 0),
    (11, 12, 7, 4, "", 0, 0),
    (12, 13, 7, 4, "", 0, 0),
    (13, 14, 8, 4, "", 0, 0),
    (14, 15, 8, 4, "", 0, 0),
    (15, 16, 14, 4, "", 0, 0),
    (16, 17, 16, 4, "", 0, 0),
    (17, 18, 14, 4, "", 0, 0),
    (18, 19, 16, 4, "", 0, 0),
    (19, 20, 7, 4, "", 0, 0),
    (20, 21, 7, 4, "", 0, 0),
    (21, 22, 16, 4, "", 0, 0),
    (22, 23, 14, 4, "", 0, 0),
    (23, 24, 16, 4, "", 0, 0),
    (24, 25, 14, 4, "", 0, 0),
    (25, 26, 8, 4, "", 0, 0),
    (26, 27, 8, 4, "", 0, 0),
    (27, 28, 7, 4, "", 0, 0),
    (28, 29, 7, 4, "", 0, 0),
    (29, 30, 8, 4, "", 0, 0),
    (30, 31, 8, 4, "", 0, 0),
    (31, 32, 14, 4, "", 0, 0),
    (32, 33, 16, 4, "", 0, 0),
    (33, 34, 14, 4, "", 0, 0),
    (34, 35, 16, 4, "", 0, 0),
    (35, 4, 7, 4, "", 0, 0),
    (36, 37, 7, 4, "", 0, 0),
    (37, 38, 16, 4, "", 0, 0),
    (38, 39, 14, 4, "", 0, 0),
    (39, 40, 16, 4, "", 0, 0),
    (40, 41, 14, 4, "", 0, 0),
    (41, 42, 8, 4, "", 0, 0),
    (42, 43, 8, 4, "", 0, 0),
    (43, 44, 7, 4, "", 0, 0),
    (44, 45, 7, 4, "", 0, 0),
    (45, 46, 8, 4, "", 0, 0),
    (46, 47, 8, 4, "", 0, 0),
    (47, 48, 14, 4, "", 0, 0),
    (48, 49, 16, 4, "", 0, 0),
    (49, 50, 14, 4, "", 0, 0),
    (50, 51, 16, 4, "", 0, 0),
    (51, 52, 7, 4, "", 0, 0),
    (52, 53, 7, 4, "", 0, 0),
    (53, 54, 16, 4, "", 0, 0),
    (54, 55, 14, 4, "", 0, 0),
    (55, 56, 16, 4, "", 0, 0),
    (56, 57, 14, 4, "", 0, 0),
    (57, 58, 8, 4, "", 0, 0),
    (58, 59, 8, 4, "", 0, 0),
    (59, 60, 7, 4, "", 0, 0),
    (60, 61, 7, 4, "", 0, 0),
    (61, 62, 8, 4, "", 0, 0),
    (62, 63, 8, 4, "", 0, 0),
    (63, 64, 14, 4, "", 0, 0),
    (64, 65, 16, 4, "", 0, 0),
    (65, 66, 14, 4, "", 0, 0),
    (66, 67, 16, 4, "", 0, 0),
    (67, 36, 7, 4, "", 0, 0),
    (68, 69, 7, 4, "", 0, 0),
    (69, 70, 7, 4, "", 0, 0),
    (71, 72, 14, 4, "", 0, 0),
    (73, 74, 14, 4, "", 0, 0),
    (75, 76, 7, 4, "", 0, 0),
    (76, 77, 7, 4, "", 0, 0),
    (78, 79, 14, 4, "", 0, 0),
    (80, 81, 14, 4, "", 0, 0),
    (82, 83, 7, 4, "", 0, 0),
    (83, 84, 7, 4, "", 0, 0),
    (85, 86, 14, 4, "", 0, 0),
    (87, 88, 14, 4, "", 0, 0),
    (89, 90, 7, 4, "", 0, 0),
    (90, 91, 7, 4, "", 0, 0),
    (92, 93, 14, 4, "", 0, 0),
    (94, 95, 14, 4, "", 0, 0),
    (96, 97, 7, 4, "", 0, 2),
    (97, 98, 16, 4, "", 0, 2),
    (98, 99, 14, 4, "", 0, 2),
    (99, 100, 16, 4, "", 0, 2),
    (100, 101, 14, 4, "", 0, 2),
    (101, 102, 8, 4, "", 0, 2),
    (102, 103, 8, 4, "", 0, 2),
    (103, 104, 7, 4, "", 0, 2),
    (104, 105, 7, 4, "", 0, 2),
    (105, 106, 8, 4, "", 0, 2),
    (106, 107, 8, 4, "", 0, 2),
    (107, 108, 14, 4, "", 0, 2),
    (108, 109, 16, 4, "", 0, 2),
    (109, 110, 14, 4, "", 0, 2),
    (110, 111, 16, 4, "", 0, 2),
    (111, 112, 7, 4, "", 0, 2),
    (112, 113, 7, 4, "", 0, 2),
    (113, 114, 16, 4, "", 0, 2),
    (114, 115, 14, 4, "", 0, 2),
    (115, 116, 16, 4, "", 0, 2),
    (116, 117, 14, 4, "", 0, 2),
    (117, 118, 8, 4, "", 0, 2),
    (118, 119, 8, 4, "", 0, 2),
    (119, 120, 7, 4, "", 0, 2),
    (120, 121, 7, 4, "", 0, 2),
    (121, 122, 8, 4, "", 0, 2),
    (122, 123, 8, 4, "", 0, 2),
    (123, 124, 14, 4, "", 0, 2),
    (124, 125, 16, 4, "", 0, 2),
    (125, 126, 14, 4, "", 0, 2),
    (126, 127, 16, 4, "", 0, 2),
    (127, 96, 7, 4, "", 0, 2),
    (128, 129, 7, 4, "", 0, 2),
    (129, 130, 16, 4, "", 0, 2),
    (130, 131, 14, 4, "", 0, 2),
    (131, 132, 16, 4, "", 0, 2),
    (132, 133, 14, 4, "", 0, 2),
    (133, 134, 8, 4, "", 0, 2),
    (134, 135, 8, 4, "", 0, 2),
    (135, 136, 7, 4, "", 0, 2),
    (136, 137, 7, 4, "", 0, 2),
    (137, 138, 8, 4, "", 0, 2),
    (138, 139, 8, 4, "", 0, 2),
    (139, 140, 14, 4, "", 0, 2),
    (140, 141, 16, 4, "", 0, 2),
    (141, 142, 14, 4, "", 0, 2),
    (142, 143, 16, 4, "", 0, 2),
    (143, 144, 7, 4, "", 0, 2),
    (144, 145, 7, 4, "", 0, 2),
    (145, 146, 16, 4, "", 0, 2),
    (146, 147, 14, 4, "", 0, 2),
    (147, 148, 16, 4, "", 0, 2),
    (148, 149, 14, 4, "", 0, 2),
    (149, 150, 8, 4, "", 0, 2),
    (150, 151, 8, 4, "", 0, 2),
    (151, 152, 7, 4, "", 0, 2),
    (152, 153, 7, 4, "", 0, 2),
    (153, 154, 8, 4, "", 0, 2),
    (154, 155, 8, 4, "", 0, 2),
    (155, 156, 14, 4, "", 0, 2),
    (156, 157, 16, 4, "", 0, 2),
    (157, 158, 14, 4, "", 0, 2),
    (158, 159, 16, 4, "", 0, 2),
    (159, 128, 7, 4, "", 0, 2),
    (160, 161, 8, 4, "", 0, 2),
    (161, 162, 7, 4, "", 0, 2),
    (162, 163, 7, 4, "", 0, 2),
    (163, 164, 8, 4, "", 0, 2),
    (165, 166, 8, 4, "", 0, 2),
    (166, 167, 7, 4, "", 0, 2),
    (167, 168, 7, 4, "", 0, 2),
    (168, 169, 8, 4, "", 0, 2),
    (170, 171, 8, 4, "", 0, 2),
    (171, 172, 7, 4, "", 0, 2),
    (172, 173, 7, 4, "", 0, 2),
    (173, 174, 8, 4, "", 0, 2),
    (175, 176, 8, 4, "", 0, 2),
    (176, 177, 7, 4, "", 0, 2),
    (177, 178, 7, 4, "", 0, 2),
    (178, 179, 8, 4, "", 0, 2),
]
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 = [
    (144.5, 144.5, "Воздух", 8.5, "", 0, 0, 1),
    (0, 94, "Линейная сталь", 3, "", 0, 1, 1),
    (73, 0, "Обмоточная область", 2, "Фаза А", 0, 1, 40),
    (63.219854476264025, 36.499999999999993, "Обмоточная область", 2, "Фаза А", 0, 1, 40),
    (36.500000000000007, 63.219854476264018, "Обмоточная область", 2, "Фаза С", 0, 1, -40),
    (4.469813191451677e-15, 73, "Обмоточная область", 2, "Фаза С", 0, 1, -40),
    (-36.499999999999986, 63.219854476264025, "Обмоточная область", 2, "Фаза В", 0, 1, 40),
    (-63.219854476264025, 36.499999999999993, "Обмоточная область", 2, "Фаза В", 0, 1, 40),
    (-73, 8.939626382903354e-15, "Обмоточная область", 2, "Фаза А", 0, 1, -40),
    (-63.219854476264018, -36.500000000000007, "Обмоточная область", 2, "Фаза А", 0, 1, -40),
    (-36.500000000000036, -63.219854476264004, "Обмоточная область", 2, "Фаза С", 0, 1, 40),
    (-1.3409439574355031e-14, -73, "Обмоточная область", 2, "Фаза С", 0, 1, 40),
    (36.500000000000007, -63.219854476264018, "Обмоточная область", 2, "Фаза В", 0, 1, -40),
    (63.219854476264004, -36.500000000000036, "Обмоточная область", 2, "Фаза В", 0, 1, -40),
    (27, 0, "Линейная сталь", 2, "", 0, 2, 1),
    (2.6329036607181111e-15, 43, "Обмоточная область", 1, "Обмотка возбуждения", 0, 2, 200),
    (-7.8987109821543333e-15, -43, "Обмоточная область", 1, "Обмотка возбуждения", 0, 2, -200),
    (0, 0, "Воздух", 2, "", 0, 2, 1),
    (56.421980601819094, 17.249930578641468, "Воздух", 0.34999999999999998, "", 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("Готов шаг 9. Модель полная; автоматический расчёт не запускался.")
Синхронная машина с неявнополюсным ротором. Шаг 9: Локальные размеры сетки и готовая модель.
Рисунок 24.44. Синхронная машина с неявнополюсным ротором. Шаг 9: Локальные размеры сетки и готовая модель. Открыть в полном размере

Перейти к следующему этапу →

Этап 10 из 11

Просмотр сохранённой сетки

  1. Скачайте файлы «Неявнополюсная-машина-09-Готовая-модель.fem» и «Неявнополюсная-машина-09-Готовая-модель.ans» в одну папку. Их имена до расширения должны совпадать; сохраняйте исходные имена, чтобы FEMM нашёл готовое решение.
  2. Откройте именно файл «Полная модель шага 9 для просмотра решения», затем выполните mi_loadsolution() во встроенной консоли Python. Отдельный файл «Модель после шага 10» содержит то же состояние геометрии, но к его имени не приложено отдельное решение.
  3. В постпроцессоре выполните mo_showmesh(): команда показывает сетку готового решения и не создаёт новую сетку. Программу этого этапа также сохраните рядом с парой файлов модели и решения; запускайте её во встроенном Python FEMM.
  4. Рассмотрите сгущение сетки в узких зазорах и у границ материалов, если они присутствуют в модели. Оценка точности требует отдельной проверки сходимости; один снимок сетки её не заменяет.
  5. Для изменённой рабочей копии сетку и решение нужно построить заново. Приложенное решение относится только к неизменённому примеру.
Просмотр сетки готового решения. Для этого этапа новый расчёт не требуется.

Широкую таблицу можно прокрутить по горизонтали.

Таблица 24.39. Локальные ограничения сетки по областям
№ меткиМатериалРазмер элемента, ммРежим
0Воздух8,5заданный
1Линейная сталь3заданный
2Обмоточная область2заданный
3Обмоточная область2заданный
4Обмоточная область2заданный
5Обмоточная область2заданный
6Обмоточная область2заданный
7Обмоточная область2заданный
8Обмоточная область2заданный
9Обмоточная область2заданный
10Обмоточная область2заданный
11Обмоточная область2заданный
12Обмоточная область2заданный
13Обмоточная область2заданный
14Линейная сталь2заданный
15Обмоточная область1заданный
16Обмоточная область1заданный
17Воздух2заданный
18Воздух0,35заданный

Сохранённое состояние этапа

Параметры этого файла подготовлены для расчёта.

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Синхронная машина с неявнополюсным ротором
# Шаг 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()
Синхронная машина с неявнополюсным ротором. Шаг 10: Просмотр сохранённой сетки.
Рисунок 24.45. Синхронная машина с неявнополюсным ротором. Шаг 10: Просмотр сохранённой сетки. Открыть в полном размере

Перейти к следующему этапу →

Этап 11 из 11

Поле и численные результаты

  1. Для просмотра приложенного результата используйте ту же пару итоговых файлов модели и решения из предыдущего этапа. Программу этого этапа сохраните в той же папке: она открывает готовое решение, не запуская новый расчёт. Файл «Модель после шага 11» сохраняет итоговую геометрию; отдельного одноимённого решения к нему нет.
  2. Включите карту модуля магнитной индукции и прочитайте шкалу в теслах. Последовательно откройте результаты каждой цепи и сравните ток, полевое напряжение и потокосцепление с таблицей.
  3. Чтобы проверить энергию всей модели во встроенной консоли Python, выполните последовательно mo_clearblock(), mo_groupselectblock(), затем print(mo_blockintegral(2)). Для коэнергии при том же выделении выполните print(mo_blockintegral(17)). После проверки снимите выделение командой mo_clearblock().
  4. Для момента ротора относительно начала координат выделите только группу 2: mo_clearblock(), затем mo_groupselectblock(2). Выполните print(mo_blockintegral(22)) и сравните результат в Н·м вместе со знаком. После проверки выполните mo_clearblock().
  5. Это неподвижное токовое состояние. Скоростная ЭДС, коммутация и полный привод не возникают от одной карты поля; для них требуются описанные в курсе серии положений и внешние соотношения.
  6. Таблица содержит результаты этой модели. После изменения параметров выполните новый расчёт через Analysis → Analyze, откройте результат через Analysis → View Results и сравните значения.
  7. Момент в таблице этого этапа относится к исходной учебной сетке. Уточнённые значения, сравнение методов и файлы рекомендуемой сетки приведены в разделе «Сходимость момента» выше. По исходному количеству выведенных знаков точность не оценивают.
Просмотр готового поля и проверка численных результатов. Новый расчёт нужен только после изменения модели.

Широкую таблицу можно прокрутить по горизонтали.

Таблица 24.40. Результаты всех цепей
ЦепьТок, АПолевое напряжение, ВПотокосцепление, Вб
Фаза А100,03417
Обмотка возбуждения201,186
Фаза С-20-0,1016
Фаза В100,05922
Таблица 24.41. Объёмные интегралы
ВеличинаЗначение
Энергия, Дж1,334
Коэнергия, Дж1,334
Момент, Н·м-0,04961

Сохранённое состояние этапа

Параметры этого файла подготовлены для расчёта.

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Синхронная машина с неявнополюсным ротором
# Шаг 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("Фаза С"))
print("Обмотка возбуждения: I, U поля, потокосцепление", mo_getcircuitproperties("Обмотка возбуждения"))
# Энергия вычисляется по всем областям эталона.
mo_groupselectblock()
print('Энергия, Дж:', mo_blockintegral(2))
mo_clearblock()
Синхронная машина с неявнополюсным ротором. Шаг 11: Поле и численные результаты.
Рисунок 24.46. Синхронная машина с неявнополюсным ротором. Шаг 11: Поле и численные результаты. Открыть в полном размере