FEMM 5

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

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

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

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

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

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

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

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

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

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

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

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

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

Момент на выбранной сетке: −0,04962 Н·м. Число элементов: 4 714 854.

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

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

Сходимость момента при увеличении числа конечных элементов
Рисунок 24.47. Результаты настоящих расчётов FEMM 5. Заштрихованная область показывает разброс трёх контуров; это проверка постобработки одного поля. Нажмите на график, чтобы открыть его в полном размере.
Синхронная машина с явнополюсным ротором: выбранная сетка воздушного зазора.
Рисунок 24.48. Синхронная машина с явнополюсным ротором: выбранная сетка воздушного зазора. Открыть в полном размере
Синхронная машина с явнополюсным ротором: момент ротора на выбранной сетке.
Рисунок 24.49. Синхронная машина с явнополюсным ротором: момент ротора на выбранной сетке. Открыть в полном размере
Таблица 24.42. Сеточная серия: момент в Н·м, размер в зазоре в мм
СеткаРазмер блока в зазоре, ммЭлементовWST, Н·мПеремена WST
Сетка 10,175317 142-0,04945637—
Сетка 20,08751 208 578-0,049556680,202%
Сетка 3 · выбрана0,043754 714 854-0,049620290,128%

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

Таблица 24.43. Сравнение методов на выбранной сетке
МетодМомент, Н·мУсловия проверки
Взвешенный интеграл Максвелла (WST)-0,04962Интеграл 22; все области ротора, группа 2
Контуры без сглаживания-0,04973 … −0,0493007Точное интегрирование кусочно-постоянного поля на трёх окружностях
Контуры со сглаживанием−0,0497177 … -0,04954Три радиуса; 11520 точек на каждой окружности
Производная коэнергии-0,05021 … -0,04981Шаги: 0,25, 0,5, 1^\circ
Угловые шаги и производная коэнергии

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

Таблица 24.44. Центральная разность при фиксированных токах
Шаг, град.Производная, Н·мРасхождение с WSTПроверка
0,25-0,049820,403%Принят
0,5-0,049810,379%Принят
1-0,050211,18%Принят

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

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

Этап 1 из 11

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

  1. Создайте магнитную задачу через «Файл → Новая» (File → New → Magnetics Problem).
  2. В окне «Постановка задачи» (Problem Definition) выберите миллиметры, тип «плоскопараллельная» и частоту 0 Гц.
  3. Введите точность, минимальный угол сетки и остальные значения таблицы. В таблицах используется десятичная запятая; при вводе чисел в FEMM заменяйте её точкой.
  4. Поле файла предыдущего решения оставьте пустым. В осесимметричной задаче поле глубины не задаёт физическую длину: координаты обозначают радиус r и высоту z. В плоскопараллельной задаче глубина задаёт длину модели перпендикулярно плоскости чертежа.
Неполный учебный этап; решение не запускать.
Таблица 24.45. Параметры постановки
ПараметрЗначение
Частота, Гц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.50. Синхронная машина с явнополюсным ротором. Шаг 1: Постановка задачи. Открыть в полном размере

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

Этап 2 из 11

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

  1. Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
  2. Откройте «Свойства → Материалы» (Properties → Materials) и последовательно создайте материалы из таблиц.
  3. Для каждого материала укажите обе относительные проницаемости, коэрцитивную силу, заданную объёмную плотность тока, проводимость и параметры шихтовки. Удельная электрическая проводимость вводится в МСм/м, а не в См/м.
  4. Если дана таблица B–H, включите нелинейную характеристику и внесите каждую пару: B в Тл, H в А/м. Числа не заменяются свойствами одноимённого материала из другой библиотеки.
  5. Список сохраняет все материалы исходника. Столбец использования показывает, какие из них действительно назначены областям данного варианта.
Неполный учебный этап; решение не запускать.
Таблица 24.46. Воздух
ПараметрЗначение
Назначен областямДа
Относительная магнитная проницаемость по x/r1
Относительная магнитная проницаемость по y/z1
Коэрцитивная сила, А/м0
Угол направления коэрцитивной силы, {}^\circ0
Действительная часть плотности тока, МА/м²0
Мнимая часть плотности тока, МА/м²0
Удельная электрическая проводимость, МСм/м0
Толщина листа, мм0
Угол гистерезиса, {}^\circ0
Угол гистерезисного запаздывания по x, {}^\circ0
Угол гистерезисного запаздывания по y, {}^\circ0
Тип: 0 — без шихтовки0
Коэффициент заполнения1
Число жил0
Диаметр провода, мм0
Таблица 24.47. Обмоточная область
ПараметрЗначение
Назначен областямДа
Относительная магнитная проницаемость по x/r1
Относительная магнитная проницаемость по y/z1
Коэрцитивная сила, А/м0
Угол направления коэрцитивной силы, {}^\circ0
Действительная часть плотности тока, МА/м²0
Мнимая часть плотности тока, МА/м²0
Удельная электрическая проводимость, МСм/м0
Толщина листа, мм0
Угол гистерезиса, {}^\circ0
Угол гистерезисного запаздывания по x, {}^\circ0
Угол гистерезисного запаздывания по y, {}^\circ0
Тип: 0 — без шихтовки0
Коэффициент заполнения1
Число жил0
Диаметр провода, мм0
Таблица 24.48. Линейная сталь
ПараметрЗначение
Назначен областямДа
Относительная магнитная проницаемость по x/r1000
Относительная магнитная проницаемость по y/z1000
Коэрцитивная сила, А/м0
Угол направления коэрцитивной силы, {}^\circ0
Действительная часть плотности тока, МА/м²0
Мнимая часть плотности тока, МА/м²0
Удельная электрическая проводимость, МСм/м0
Толщина листа, мм0
Угол гистерезиса, {}^\circ0
Угол гистерезисного запаздывания по x, {}^\circ0
Угол гистерезисного запаздывания по y, {}^\circ0
Тип: 0 — без шихтовки0
Коэффициент заполнения1
Число жил0
Диаметр провода, мм0
Таблица 24.49. Нелинейная сталь
ПараметрЗначение
Назначен областямНет, сохранён в списке исходника
Относительная магнитная проницаемость по x/r1
Относительная магнитная проницаемость по y/z1
Коэрцитивная сила, А/м0
Угол направления коэрцитивной силы, {}^\circ0
Действительная часть плотности тока, МА/м²0
Мнимая часть плотности тока, МА/м²0
Удельная электрическая проводимость, МСм/м0
Толщина листа, мм0
Угол гистерезиса, {}^\circ0
Угол гистерезисного запаздывания по x, {}^\circ0
Угол гистерезисного запаздывания по y, {}^\circ0
Тип: 0 — без шихтовки0
Коэффициент заполнения1
Число жил0
Диаметр провода, мм0
Таблица 24.50. Характеристика B–H: Нелинейная сталь
B, ТлH, А/м
00
0,25100
0,5200
0,9400
1,2800
1,452000
1,65000
1,710000
Таблица 24.51. Постоянный магнит
ПараметрЗначение
Назначен областямНет, сохранён в списке исходника
Относительная магнитная проницаемость по 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.51. Синхронная машина с явнополюсным ротором. Шаг 2: Материалы и характеристика B–H. Открыть в полном размере

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

Этап 3 из 11

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

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

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

Таблица 24.52. Токи всех цепей
ЦепьДействительная часть тока, АМнимая часть тока, АТип
Фаза А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.52. Синхронная машина с явнополюсным ротором. Шаг 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.53. Нулевой потенциал
ПараметрЗначение
Тип границы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.53. Синхронная машина с явнополюсным ротором. Шаг 4: Граничные условия. Открыть в полном размере

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

Этап 5 из 11

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

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

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

Таблица 24.54. Координаты всех узлов
№ узлаx или r, ммy или z, ммГруппа
0-170-1700
1170-1700
21701700
3-1701700
46000
559,557,3120
655,2323,440
754,3825,360
847,9236,110
946,6337,760
1037,7646,630
1136,1147,920
1225,3654,380
1323,4455,230
147,31259,550
150600
16-7,31259,550
17-23,4455,230
18-25,3654,380
19-36,1147,920
20-37,7646,630
21-46,6337,760
22-47,9236,110
23-54,3825,360
24-55,2323,440
25-59,557,3120
26-6000
27-59,55-7,3120
28-55,23-23,440
29-54,38-25,360
30-47,92-36,110
31-46,63-37,760
32-37,76-46,630
33-36,11-47,920
34-25,36-54,380
35-23,44-55,230
36-7,312-59,550
370-600
387,312-59,550
3923,44-55,230
4025,36-54,380
4136,11-47,920
4237,76-46,630
4346,63-37,760
4447,92-36,110
4554,38-25,360
4655,23-23,440
4759,55-7,3120
4810000
4999,2512,190
5092,0539,070
5190,6342,260
5279,8660,180
5377,7162,930
5462,9377,710
5560,1879,860
5642,2690,630
5739,0792,050
5812,1999,250
5901000
60-12,1999,250
61-39,0792,050
62-42,2690,630
63-60,1879,860
64-62,9377,710
65-77,7162,930
66-79,8660,180
67-90,6342,260
68-92,0539,070
69-99,2512,190
70-10000
71-99,25-12,190
72-92,05-39,070
73-90,63-42,260
74-79,86-60,180
75-77,71-62,930
76-62,93-77,710
77-60,18-79,860
78-42,26-90,630
79-39,07-92,050
80-12,19-99,250
810-1000
8212,19-99,250
8339,07-92,050
8442,26-90,630
8560,18-79,860
8662,93-77,710
8777,71-62,930
8879,86-60,180
8990,63-42,260
9092,05-39,070
9199,25-12,190
9284,37-10,360
938500
9484,3710,360
9578,2433,210
9677,0435,920
9767,8851,150
9851,1567,880
9935,9277,040
10033,2178,240
10110,3684,370
1020850
103-10,3684,370
104-33,2178,240
105-35,9277,040
106-51,1567,880
107-67,8851,150
108-77,0435,920
109-78,2433,210
110-84,3710,360
111-8500
112-84,37-10,360
113-78,24-33,210
114-77,04-35,920
115-67,88-51,150
116-51,15-67,880
117-35,92-77,040
118-33,21-78,240
119-10,36-84,370
1200-850
12110,36-84,370
12233,21-78,240
12335,92-77,040
12451,15-67,880
12567,88-51,150
12677,04-35,920
12778,24-33,210
1281802
12917,872,1942
13016,577,0332
13116,317,6072
13214,3810,832
13313,9911,332
13411,3313,992
13510,8314,382
1367,60716,312
1377,03316,572
1382,19417,872
1390182
140-2,19417,872
141-7,03316,572
142-7,60716,312
143-10,8314,382
144-11,3313,992
145-13,9911,332
146-14,3810,832
147-16,317,6072
148-16,577,0332
149-17,872,1942
150-1802
151-17,87-2,1942
152-16,57-7,0332
153-16,31-7,6072
154-14,38-10,832
155-13,99-11,332
156-11,33-13,992
157-10,83-14,382
158-7,607-16,312
159-7,033-16,572
160-2,194-17,872
1610-182
1622,194-17,872
1637,033-16,572
1647,607-16,312
16510,83-14,382
16611,33-13,992
16713,99-11,332
16814,38-10,832
16916,31-7,6072
17016,57-7,0332
17117,87-2,1942
1723502
17334,744,2652
17432,2213,682
17531,7214,792
17627,9521,062
17727,222,032
17822,0327,22
17921,0627,952
18014,7931,722
18113,6832,222
1824,26534,742
1830352
184-4,26534,742
185-13,6832,222
186-14,7931,722
187-21,0627,952
188-22,0327,22
189-27,222,032
190-27,9521,062
191-31,7214,792
192-32,2213,682
193-34,744,2652
194-3502
195-34,74-4,2652
196-32,22-13,682
197-31,72-14,792
198-27,95-21,062
199-27,2-22,032
200-22,03-27,22
201-21,06-27,952
202-14,79-31,722
203-13,68-32,222
204-4,265-34,742
2050-352
2064,265-34,742
20713,68-32,222
20814,79-31,722
20921,06-27,952
21022,03-27,22
21127,2-22,032
21227,95-21,062
21331,72-14,792
21432,22-13,682
21534,74-4,2652
21652,57-24,512
21753,39-22,662
21857,57-7,0682
2195802
22057,577,0682
22153,3922,662
22252,5724,512
22328,7523,282
22423,2828,752
22541,1933,352
22633,3541,192
22724,5152,572
22822,6653,392
2297,06857,572
2300582
231-7,06857,572
232-22,6653,392
233-24,5152,572
234-23,2828,752
235-28,7523,282
236-33,3541,192
237-41,1933,352
238-52,5724,512
239-53,3922,662
240-57,577,0682
241-5802
242-57,57-7,0682
243-53,39-22,662
244-52,57-24,512
245-28,75-23,282
246-23,28-28,752
247-41,19-33,352
248-33,35-41,192
249-24,51-52,572
250-22,66-53,392
251-7,068-57,572
2520-582
2537,068-57,572
25422,66-53,392
25524,51-52,572
25623,28-28,752
25728,75-23,282
25833,35-41,192
25941,19-33,352

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

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

Посмотреть программу этапа с русскими комментариями
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),
    (54.378467222198999, 25.357095704441967, 0),
    (47.918130602837572, 36.108901389122899, 0),
    (46.628757687418258, 37.759223462990242, 0),
    (37.759223462990249, 46.628757687418258, 0),
    (36.108901389122906, 47.918130602837572, 0),
    (25.357095704441967, 54.378467222198999, 0),
    (23.443867709356422, 55.230291207146422, 0),
    (7.3121606043088496, 59.552769098479317, 0),
    (3.6738190614671318e-15, 60, 0),
    (-7.3121606043088416, 59.552769098479324, 0),
    (-23.443867709356425, 55.230291207146415, 0),
    (-25.35709570444196, 54.378467222199006, 0),
    (-36.108901389122906, 47.918130602837564, 0),
    (-37.759223462990235, 46.628757687418258, 0),
    (-46.628757687418258, 37.759223462990242, 0),
    (-47.918130602837579, 36.108901389122892, 0),
    (-54.378467222198999, 25.357095704441971, 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),
    (-54.378467222199006, -25.357095704441956, 0),
    (-47.918130602837572, -36.108901389122906, 0),
    (-46.628757687418251, -37.759223462990256, 0),
    (-37.759223462990271, -46.628757687418236, 0),
    (-36.108901389122899, -47.918130602837572, 0),
    (-25.357095704441949, -54.378467222199006, 0),
    (-23.443867709356429, -55.230291207146415, 0),
    (-7.3121606043088301, -59.552769098479324, 0),
    (-1.1021457184401395e-14, -60, 0),
    (7.3121606043088612, -59.552769098479317, 0),
    (23.443867709356411, -55.230291207146429, 0),
    (25.357095704441978, -54.378467222198999, 0),
    (36.108901389122877, -47.918130602837586, 0),
    (37.759223462990249, -46.628757687418251, 0),
    (46.628757687418236, -37.759223462990271, 0),
    (47.918130602837572, -36.108901389122899, 0),
    (54.378467222199006, -25.357095704441953, 0),
    (55.230291207146415, -23.443867709356432, 0),
    (59.552769098479324, -7.3121606043088336, 0),
    (100, 0, 0),
    (99.254615164132204, 12.186934340514748, 0),
    (92.050485345244041, 39.07311284892738, 0),
    (90.630778703664987, 42.261826174069945, 0),
    (79.863551004729288, 60.181502315204824, 0),
    (77.714596145697087, 62.932039104983737, 0),
    (62.932039104983751, 77.714596145697087, 0),
    (60.181502315204838, 79.863551004729288, 0),
    (42.261826174069945, 90.630778703664987, 0),
    (39.073112848927373, 92.050485345244041, 0),
    (12.18693434051475, 99.254615164132204, 0),
    (6.1230317691118863e-15, 100, 0),
    (-12.186934340514737, 99.254615164132204, 0),
    (-39.07311284892738, 92.050485345244027, 0),
    (-42.261826174069931, 90.630778703665001, 0),
    (-60.181502315204838, 79.863551004729274, 0),
    (-62.93203910498373, 77.714596145697101, 0),
    (-77.714596145697087, 62.932039104983737, 0),
    (-79.863551004729288, 60.181502315204817, 0),
    (-90.630778703664987, 42.261826174069952, 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),
    (-90.630778703665001, -42.261826174069924, 0),
    (-79.863551004729288, -60.181502315204838, 0),
    (-77.714596145697072, -62.932039104983758, 0),
    (-62.932039104983787, -77.714596145697058, 0),
    (-60.181502315204824, -79.863551004729288, 0),
    (-42.261826174069917, -90.630778703665001, 0),
    (-39.07311284892738, -92.050485345244027, 0),
    (-12.186934340514718, -99.254615164132204, 0),
    (-1.8369095307335659e-14, -100, 0),
    (12.186934340514769, -99.254615164132204, 0),
    (39.073112848927352, -92.050485345244056, 0),
    (42.261826174069959, -90.630778703664987, 0),
    (60.181502315204796, -79.863551004729302, 0),
    (62.932039104983751, -77.714596145697072, 0),
    (77.714596145697058, -62.932039104983787, 0),
    (79.863551004729288, -60.181502315204824, 0),
    (90.630778703665001, -42.261826174069924, 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),
    (77.036161898115239, 35.922552247959452, 0),
    (67.884018354019886, 51.154276967924105, 0),
    (51.154276967924112, 67.884018354019886, 0),
    (35.922552247959452, 77.036161898115239, 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),
    (-35.922552247959445, 77.036161898115253, 0),
    (-51.154276967924112, 67.884018354019886, 0),
    (-67.884018354019901, 51.154276967924091, 0),
    (-77.036161898115239, 35.922552247959459, 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),
    (-77.036161898115253, -35.922552247959437, 0),
    (-67.884018354019886, -51.154276967924112, 0),
    (-51.154276967924105, -67.884018354019886, 0),
    (-35.92255224795943, -77.036161898115253, 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),
    (35.922552247959466, -77.036161898115239, 0),
    (51.154276967924076, -67.884018354019915, 0),
    (67.884018354019886, -51.154276967924105, 0),
    (77.036161898115253, -35.92255224795943, 0),
    (78.242912543457422, -33.212145921588281, 0),
    (18, 0, 2),
    (17.865830729543795, 2.1936481812926547, 2),
    (16.569087362143925, 7.0331603128069275, 2),
    (16.313540166659699, 7.6071287113325896, 2),
    (14.37543918085127, 10.832670416736869, 2),
    (13.988627306225476, 11.327767038897074, 2),
    (11.327767038897075, 13.988627306225476, 2),
    (10.832670416736871, 14.37543918085127, 2),
    (7.6071287113325896, 16.313540166659699, 2),
    (7.0331603128069267, 16.569087362143925, 2),
    (2.1936481812926547, 17.865830729543795, 2),
    (1.1021457184401395e-15, 18, 2),
    (-2.1936481812926525, 17.865830729543799, 2),
    (-7.0331603128069275, 16.569087362143925, 2),
    (-7.6071287113325878, 16.313540166659699, 2),
    (-10.832670416736871, 14.375439180851268, 2),
    (-11.327767038897072, 13.988627306225478, 2),
    (-13.988627306225476, 11.327767038897074, 2),
    (-14.375439180851274, 10.832670416736867, 2),
    (-16.313540166659699, 7.6071287113325905, 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),
    (-16.313540166659699, -7.6071287113325869, 2),
    (-14.37543918085127, -10.832670416736871, 2),
    (-13.988627306225474, -11.327767038897077, 2),
    (-11.327767038897081, -13.988627306225471, 2),
    (-10.832670416736869, -14.37543918085127, 2),
    (-7.6071287113325852, -16.313540166659699, 2),
    (-7.0331603128069293, -16.569087362143925, 2),
    (-2.1936481812926489, -17.865830729543799, 2),
    (-3.3064371553204186e-15, -18, 2),
    (2.1936481812926583, -17.865830729543795, 2),
    (7.0331603128069231, -16.569087362143929, 2),
    (7.6071287113325932, -16.313540166659699, 2),
    (10.832670416736862, -14.375439180851275, 2),
    (11.327767038897075, -13.988627306225474, 2),
    (13.988627306225471, -11.327767038897081, 2),
    (14.37543918085127, -10.832670416736869, 2),
    (16.313540166659699, -7.6071287113325861, 2),
    (16.569087362143925, -7.0331603128069302, 2),
    (17.865830729543799, -2.1936481812926503, 2),
    (35, 0, 2),
    (34.739115307446269, 4.2654270191801613, 2),
    (32.217669870835415, 13.675589497124582, 2),
    (31.720772546282749, 14.791639160924481, 2),
    (27.952242851655249, 21.063525810321689, 2),
    (27.200108650993982, 22.02621368674431, 2),
    (22.026213686744313, 27.200108650993982, 2),
    (21.063525810321693, 27.952242851655249, 2),
    (14.791639160924481, 31.720772546282749, 2),
    (13.67558949712458, 32.217669870835415, 2),
    (4.2654270191801622, 34.739115307446269, 2),
    (2.1430611191891602e-15, 35, 2),
    (-4.2654270191801578, 34.739115307446276, 2),
    (-13.675589497124582, 32.217669870835408, 2),
    (-14.791639160924477, 31.720772546282753, 2),
    (-21.063525810321693, 27.952242851655246, 2),
    (-22.026213686744306, 27.200108650993986, 2),
    (-27.200108650993982, 22.02621368674431, 2),
    (-27.952242851655253, 21.063525810321686, 2),
    (-31.720772546282749, 14.791639160924483, 2),
    (-32.217669870835415, 13.675589497124582, 2),
    (-34.739115307446269, 4.265427019180164, 2),
    (-35, 4.2861222383783204e-15, 2),
    (-34.739115307446276, -4.265427019180156, 2),
    (-32.217669870835415, -13.675589497124575, 2),
    (-31.720772546282753, -14.791639160924476, 2),
    (-27.952242851655249, -21.063525810321693, 2),
    (-27.200108650993979, -22.026213686744317, 2),
    (-22.026213686744324, -27.200108650993968, 2),
    (-21.063525810321689, -27.952242851655249, 2),
    (-14.79163916092447, -31.720772546282753, 2),
    (-13.675589497124584, -32.217669870835408, 2),
    (-4.2654270191801507, -34.739115307446276, 2),
    (-6.4291833575674806e-15, -35, 2),
    (4.2654270191801693, -34.739115307446269, 2),
    (13.675589497124573, -32.217669870835415, 2),
    (14.791639160924486, -31.720772546282749, 2),
    (21.063525810321678, -27.952242851655257, 2),
    (22.026213686744313, -27.200108650993979, 2),
    (27.200108650993968, -22.026213686744324, 2),
    (27.952242851655249, -21.063525810321689, 2),
    (31.720772546282753, -14.791639160924472, 2),
    (32.217669870835408, -13.675589497124585, 2),
    (34.739115307446276, -4.2654270191801533, 2),
    (52.565851648125701, -24.511859180960556, 2),
    (53.389281500241538, -22.662405452377886, 2),
    (57.567676795196682, -7.0684219174985392, 2),
    (58, -1.4205433704339576e-14, 2),
    (57.567676795196675, 7.0684219174985623, 2),
    (53.389281500241552, 22.662405452377861, 2),
    (52.565851648125694, 24.511859180960574, 2),
    (28.754400573907922, 23.284854468843985, 2),
    (23.284854468843989, 28.754400573907922, 2),
    (41.188735957219457, 33.353980725641385, 2),
    (33.353980725641385, 41.188735957219457, 2),
    (24.511859180960567, 52.565851648125694, 2),
    (22.662405452377875, 53.389281500241545, 2),
    (7.0684219174985543, 57.567676795196675, 2),
    (3.551358426084894e-15, 58, 2),
    (-7.0684219174985472, 57.567676795196682, 2),
    (-22.662405452377879, 53.389281500241538, 2),
    (-24.51185918096056, 52.565851648125701, 2),
    (-23.284854468843978, 28.754400573907926, 2),
    (-28.754400573907922, 23.284854468843985, 2),
    (-33.353980725641378, 41.188735957219464, 2),
    (-41.188735957219457, 33.353980725641385, 2),
    (-52.565851648125694, 24.51185918096057, 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),
    (-52.565851648125701, -24.511859180960556, 2),
    (-28.754400573907919, -23.284854468843992, 2),
    (-23.284854468843999, -28.754400573907912, 2),
    (-41.18873595721945, -33.353980725641392, 2),
    (-33.353980725641406, -41.188735957219443, 2),
    (-24.511859180960553, -52.565851648125701, 2),
    (-22.662405452377882, -53.389281500241538, 2),
    (-7.0684219174985357, -57.567676795196682, 2),
    (-1.0654075278254682e-14, -58, 2),
    (7.0684219174985659, -57.567676795196675, 2),
    (22.662405452377861, -53.389281500241552, 2),
    (24.511859180960577, -52.565851648125694, 2),
    (23.284854468843989, -28.754400573907919, 2),
    (28.754400573907912, -23.284854468843999, 2),
    (33.353980725641385, -41.18873595721945, 2),
    (41.188735957219443, -33.353980725641406, 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.54. Синхронная машина с явнополюсным ротором. Шаг 5: Узлы и размеры геометрии. Открыть в полном размере

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

Этап 6 из 11

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

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

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

Таблица 24.55. Все отрезки и назначенные границы
№Начальный узелКонечный узелГраницаГруппа
001Нулевой потенциал0
112Нулевой потенциал0
223Нулевой потенциал0
330Нулевой потенциал0
44792Нет0
5594Нет0
6695Нет0
7897Нет0
81198Нет0
913100Нет0
1014101Нет0
1116103Нет0
1217104Нет0
1319106Нет0
1422107Нет0
1524109Нет0
1625110Нет0
1727112Нет0
1828113Нет0
1930115Нет0
2033116Нет0
2135118Нет0
2236119Нет0
2338121Нет0
2439122Нет0
2541124Нет0
2644125Нет0
2746127Нет0
28213216Нет2
29175222Нет2
30223225Нет2
31224226Нет2
32180227Нет2
33186233Нет2
34234236Нет2
35235237Нет2
36191238Нет2
37197244Нет2
38245247Нет2
39246248Нет2
40202249Нет2
41208255Нет2
42256258Нет2
43257259Нет2

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

Таблица 24.56. Все дуги и назначенные границы
№Начальный узелКонечный узелУгол дуги, {}^\circГраницаГруппа
0457Нет0
15616Нет0
2672Нет0
37812Нет0
4892Нет0
591012Нет0
610112Нет0
7111212Нет0
812132Нет0
9131416Нет0
1014157Нет0
1115167Нет0
12161716Нет0
1317182Нет0
14181912Нет0
1519202Нет0
16202112Нет0
1721222Нет0
18222312Нет0
1923242Нет0
20242516Нет0
2125267Нет0
2226277Нет0
23272816Нет0
2428292Нет0
25293012Нет0
2630312Нет0
27313212Нет0
2832332Нет0
29333412Нет0
3034352Нет0
31353616Нет0
3236377Нет0
3337387Нет0
34383916Нет0
3539402Нет0
36404112Нет0
3741422Нет0
38424312Нет0
3943442Нет0
40444512Нет0
4145462Нет0
42464716Нет0
434747Нет0
4448497Нет0
45495016Нет0
4650512Нет0
47515212Нет0
4852532Нет0
49535412Нет0
5054552Нет0
51555612Нет0
5256572Нет0
53575816Нет0
5458597Нет0
5559607Нет0
56606116Нет0
5761622Нет0
58626312Нет0
5963642Нет0
60646512Нет0
6165662Нет0
62666712Нет0
6367682Нет0
64686916Нет0
6569707Нет0
6670717Нет0
67717216Нет0
6872732Нет0
69737412Нет0
7074752Нет0
71757612Нет0
7276772Нет0
73777812Нет0
7478792Нет0
75798016Нет0
7680817Нет0
7781827Нет0
78828316Нет0
7983842Нет0
80848512Нет0
8185862Нет0
82868712Нет0
8387882Нет0
84888912Нет0
8589902Нет0
86909116Нет0
8791487Нет0
8892937Нет0
8993947Нет0
9095962Нет0
91969712Нет0
92989912Нет0
93991002Нет0
941011027Нет0
951021037Нет0
961041052Нет0
9710510612Нет0
9810710812Нет0
991081092Нет0
1001101117Нет0
1011111127Нет0
1021131142Нет0
10311411512Нет0
10411611712Нет0
1051171182Нет0
1061191207Нет0
1071201217Нет0
1081221232Нет0
10912312412Нет0
11012512612Нет0
1111261272Нет0
1121281297Нет2
11312913016Нет2
1141301312Нет2
11513113212Нет2
1161321332Нет2
11713313412Нет2
1181341352Нет2
11913513612Нет2
1201361372Нет2
12113713816Нет2
1221381397Нет2
1231391407Нет2
12414014116Нет2
1251411422Нет2
12614214312Нет2
1271431442Нет2
12814414512Нет2
1291451462Нет2
13014614712Нет2
1311471482Нет2
13214814916Нет2
1331491507Нет2
1341501517Нет2
13515115216Нет2
1361521532Нет2
13715315412Нет2
1381541552Нет2
13915515612Нет2
1401561572Нет2
14115715812Нет2
1421581592Нет2
14315916016Нет2
1441601617Нет2
1451611627Нет2
14616216316Нет2
1471631642Нет2
14816416512Нет2
1491651662Нет2
15016616712Нет2
1511671682Нет2
15216816912Нет2
1531691702Нет2
15417017116Нет2
1551711287Нет2
1561721737Нет2
15717317416Нет2
1581741752Нет2
15917517612Нет2
1601761772Нет2
16117717812Нет2
1621781792Нет2
16317918012Нет2
1641801812Нет2
16518118216Нет2
1661821837Нет2
1671831847Нет2
16818418516Нет2
1691851862Нет2
17018618712Нет2
1711871882Нет2
17218818912Нет2
1731891902Нет2
17419019112Нет2
1751911922Нет2
17619219316Нет2
1771931947Нет2
1781941957Нет2
17919519616Нет2
1801961972Нет2
18119719812Нет2
1821981992Нет2
18319920012Нет2
1842002012Нет2
18520120212Нет2
1862022032Нет2
18720320416Нет2
1882042057Нет2
1892052067Нет2
19020620716Нет2
1912072082Нет2
19220820912Нет2
1932092102Нет2
19421021112Нет2
1952112122Нет2
19621221312Нет2
1972132142Нет2
19821421516Нет2
1992151727Нет2
2002162172Нет2
20121721816Нет2
2022182197Нет2
2032192207Нет2
20422022116Нет2
2052212222Нет2
20622322412Нет2
20722522612Нет2
2082272282Нет2
20922822916Нет2
2102292307Нет2
2112302317Нет2
21223123216Нет2
2132322332Нет2
21423423512Нет2
21523623712Нет2
2162382392Нет2
21723924016Нет2
2182402417Нет2
2192412427Нет2
22024224316Нет2
2212432442Нет2
22224524612Нет2
22324724812Нет2
2242492502Нет2
22525025116Нет2
2262512527Нет2
2272522537Нет2
22825325416Нет2
2292542552Нет2
23025625712Нет2
23125825912Нет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),
    (54.378467222198999, 25.357095704441967, 0),
    (47.918130602837572, 36.108901389122899, 0),
    (46.628757687418258, 37.759223462990242, 0),
    (37.759223462990249, 46.628757687418258, 0),
    (36.108901389122906, 47.918130602837572, 0),
    (25.357095704441967, 54.378467222198999, 0),
    (23.443867709356422, 55.230291207146422, 0),
    (7.3121606043088496, 59.552769098479317, 0),
    (3.6738190614671318e-15, 60, 0),
    (-7.3121606043088416, 59.552769098479324, 0),
    (-23.443867709356425, 55.230291207146415, 0),
    (-25.35709570444196, 54.378467222199006, 0),
    (-36.108901389122906, 47.918130602837564, 0),
    (-37.759223462990235, 46.628757687418258, 0),
    (-46.628757687418258, 37.759223462990242, 0),
    (-47.918130602837579, 36.108901389122892, 0),
    (-54.378467222198999, 25.357095704441971, 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),
    (-54.378467222199006, -25.357095704441956, 0),
    (-47.918130602837572, -36.108901389122906, 0),
    (-46.628757687418251, -37.759223462990256, 0),
    (-37.759223462990271, -46.628757687418236, 0),
    (-36.108901389122899, -47.918130602837572, 0),
    (-25.357095704441949, -54.378467222199006, 0),
    (-23.443867709356429, -55.230291207146415, 0),
    (-7.3121606043088301, -59.552769098479324, 0),
    (-1.1021457184401395e-14, -60, 0),
    (7.3121606043088612, -59.552769098479317, 0),
    (23.443867709356411, -55.230291207146429, 0),
    (25.357095704441978, -54.378467222198999, 0),
    (36.108901389122877, -47.918130602837586, 0),
    (37.759223462990249, -46.628757687418251, 0),
    (46.628757687418236, -37.759223462990271, 0),
    (47.918130602837572, -36.108901389122899, 0),
    (54.378467222199006, -25.357095704441953, 0),
    (55.230291207146415, -23.443867709356432, 0),
    (59.552769098479324, -7.3121606043088336, 0),
    (100, 0, 0),
    (99.254615164132204, 12.186934340514748, 0),
    (92.050485345244041, 39.07311284892738, 0),
    (90.630778703664987, 42.261826174069945, 0),
    (79.863551004729288, 60.181502315204824, 0),
    (77.714596145697087, 62.932039104983737, 0),
    (62.932039104983751, 77.714596145697087, 0),
    (60.181502315204838, 79.863551004729288, 0),
    (42.261826174069945, 90.630778703664987, 0),
    (39.073112848927373, 92.050485345244041, 0),
    (12.18693434051475, 99.254615164132204, 0),
    (6.1230317691118863e-15, 100, 0),
    (-12.186934340514737, 99.254615164132204, 0),
    (-39.07311284892738, 92.050485345244027, 0),
    (-42.261826174069931, 90.630778703665001, 0),
    (-60.181502315204838, 79.863551004729274, 0),
    (-62.93203910498373, 77.714596145697101, 0),
    (-77.714596145697087, 62.932039104983737, 0),
    (-79.863551004729288, 60.181502315204817, 0),
    (-90.630778703664987, 42.261826174069952, 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),
    (-90.630778703665001, -42.261826174069924, 0),
    (-79.863551004729288, -60.181502315204838, 0),
    (-77.714596145697072, -62.932039104983758, 0),
    (-62.932039104983787, -77.714596145697058, 0),
    (-60.181502315204824, -79.863551004729288, 0),
    (-42.261826174069917, -90.630778703665001, 0),
    (-39.07311284892738, -92.050485345244027, 0),
    (-12.186934340514718, -99.254615164132204, 0),
    (-1.8369095307335659e-14, -100, 0),
    (12.186934340514769, -99.254615164132204, 0),
    (39.073112848927352, -92.050485345244056, 0),
    (42.261826174069959, -90.630778703664987, 0),
    (60.181502315204796, -79.863551004729302, 0),
    (62.932039104983751, -77.714596145697072, 0),
    (77.714596145697058, -62.932039104983787, 0),
    (79.863551004729288, -60.181502315204824, 0),
    (90.630778703665001, -42.261826174069924, 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),
    (77.036161898115239, 35.922552247959452, 0),
    (67.884018354019886, 51.154276967924105, 0),
    (51.154276967924112, 67.884018354019886, 0),
    (35.922552247959452, 77.036161898115239, 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),
    (-35.922552247959445, 77.036161898115253, 0),
    (-51.154276967924112, 67.884018354019886, 0),
    (-67.884018354019901, 51.154276967924091, 0),
    (-77.036161898115239, 35.922552247959459, 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),
    (-77.036161898115253, -35.922552247959437, 0),
    (-67.884018354019886, -51.154276967924112, 0),
    (-51.154276967924105, -67.884018354019886, 0),
    (-35.92255224795943, -77.036161898115253, 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),
    (35.922552247959466, -77.036161898115239, 0),
    (51.154276967924076, -67.884018354019915, 0),
    (67.884018354019886, -51.154276967924105, 0),
    (77.036161898115253, -35.92255224795943, 0),
    (78.242912543457422, -33.212145921588281, 0),
    (18, 0, 2),
    (17.865830729543795, 2.1936481812926547, 2),
    (16.569087362143925, 7.0331603128069275, 2),
    (16.313540166659699, 7.6071287113325896, 2),
    (14.37543918085127, 10.832670416736869, 2),
    (13.988627306225476, 11.327767038897074, 2),
    (11.327767038897075, 13.988627306225476, 2),
    (10.832670416736871, 14.37543918085127, 2),
    (7.6071287113325896, 16.313540166659699, 2),
    (7.0331603128069267, 16.569087362143925, 2),
    (2.1936481812926547, 17.865830729543795, 2),
    (1.1021457184401395e-15, 18, 2),
    (-2.1936481812926525, 17.865830729543799, 2),
    (-7.0331603128069275, 16.569087362143925, 2),
    (-7.6071287113325878, 16.313540166659699, 2),
    (-10.832670416736871, 14.375439180851268, 2),
    (-11.327767038897072, 13.988627306225478, 2),
    (-13.988627306225476, 11.327767038897074, 2),
    (-14.375439180851274, 10.832670416736867, 2),
    (-16.313540166659699, 7.6071287113325905, 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),
    (-16.313540166659699, -7.6071287113325869, 2),
    (-14.37543918085127, -10.832670416736871, 2),
    (-13.988627306225474, -11.327767038897077, 2),
    (-11.327767038897081, -13.988627306225471, 2),
    (-10.832670416736869, -14.37543918085127, 2),
    (-7.6071287113325852, -16.313540166659699, 2),
    (-7.0331603128069293, -16.569087362143925, 2),
    (-2.1936481812926489, -17.865830729543799, 2),
    (-3.3064371553204186e-15, -18, 2),
    (2.1936481812926583, -17.865830729543795, 2),
    (7.0331603128069231, -16.569087362143929, 2),
    (7.6071287113325932, -16.313540166659699, 2),
    (10.832670416736862, -14.375439180851275, 2),
    (11.327767038897075, -13.988627306225474, 2),
    (13.988627306225471, -11.327767038897081, 2),
    (14.37543918085127, -10.832670416736869, 2),
    (16.313540166659699, -7.6071287113325861, 2),
    (16.569087362143925, -7.0331603128069302, 2),
    (17.865830729543799, -2.1936481812926503, 2),
    (35, 0, 2),
    (34.739115307446269, 4.2654270191801613, 2),
    (32.217669870835415, 13.675589497124582, 2),
    (31.720772546282749, 14.791639160924481, 2),
    (27.952242851655249, 21.063525810321689, 2),
    (27.200108650993982, 22.02621368674431, 2),
    (22.026213686744313, 27.200108650993982, 2),
    (21.063525810321693, 27.952242851655249, 2),
    (14.791639160924481, 31.720772546282749, 2),
    (13.67558949712458, 32.217669870835415, 2),
    (4.2654270191801622, 34.739115307446269, 2),
    (2.1430611191891602e-15, 35, 2),
    (-4.2654270191801578, 34.739115307446276, 2),
    (-13.675589497124582, 32.217669870835408, 2),
    (-14.791639160924477, 31.720772546282753, 2),
    (-21.063525810321693, 27.952242851655246, 2),
    (-22.026213686744306, 27.200108650993986, 2),
    (-27.200108650993982, 22.02621368674431, 2),
    (-27.952242851655253, 21.063525810321686, 2),
    (-31.720772546282749, 14.791639160924483, 2),
    (-32.217669870835415, 13.675589497124582, 2),
    (-34.739115307446269, 4.265427019180164, 2),
    (-35, 4.2861222383783204e-15, 2),
    (-34.739115307446276, -4.265427019180156, 2),
    (-32.217669870835415, -13.675589497124575, 2),
    (-31.720772546282753, -14.791639160924476, 2),
    (-27.952242851655249, -21.063525810321693, 2),
    (-27.200108650993979, -22.026213686744317, 2),
    (-22.026213686744324, -27.200108650993968, 2),
    (-21.063525810321689, -27.952242851655249, 2),
    (-14.79163916092447, -31.720772546282753, 2),
    (-13.675589497124584, -32.217669870835408, 2),
    (-4.2654270191801507, -34.739115307446276, 2),
    (-6.4291833575674806e-15, -35, 2),
    (4.2654270191801693, -34.739115307446269, 2),
    (13.675589497124573, -32.217669870835415, 2),
    (14.791639160924486, -31.720772546282749, 2),
    (21.063525810321678, -27.952242851655257, 2),
    (22.026213686744313, -27.200108650993979, 2),
    (27.200108650993968, -22.026213686744324, 2),
    (27.952242851655249, -21.063525810321689, 2),
    (31.720772546282753, -14.791639160924472, 2),
    (32.217669870835408, -13.675589497124585, 2),
    (34.739115307446276, -4.2654270191801533, 2),
    (52.565851648125701, -24.511859180960556, 2),
    (53.389281500241538, -22.662405452377886, 2),
    (57.567676795196682, -7.0684219174985392, 2),
    (58, -1.4205433704339576e-14, 2),
    (57.567676795196675, 7.0684219174985623, 2),
    (53.389281500241552, 22.662405452377861, 2),
    (52.565851648125694, 24.511859180960574, 2),
    (28.754400573907922, 23.284854468843985, 2),
    (23.284854468843989, 28.754400573907922, 2),
    (41.188735957219457, 33.353980725641385, 2),
    (33.353980725641385, 41.188735957219457, 2),
    (24.511859180960567, 52.565851648125694, 2),
    (22.662405452377875, 53.389281500241545, 2),
    (7.0684219174985543, 57.567676795196675, 2),
    (3.551358426084894e-15, 58, 2),
    (-7.0684219174985472, 57.567676795196682, 2),
    (-22.662405452377879, 53.389281500241538, 2),
    (-24.51185918096056, 52.565851648125701, 2),
    (-23.284854468843978, 28.754400573907926, 2),
    (-28.754400573907922, 23.284854468843985, 2),
    (-33.353980725641378, 41.188735957219464, 2),
    (-41.188735957219457, 33.353980725641385, 2),
    (-52.565851648125694, 24.51185918096057, 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),
    (-52.565851648125701, -24.511859180960556, 2),
    (-28.754400573907919, -23.284854468843992, 2),
    (-23.284854468843999, -28.754400573907912, 2),
    (-41.18873595721945, -33.353980725641392, 2),
    (-33.353980725641406, -41.188735957219443, 2),
    (-24.511859180960553, -52.565851648125701, 2),
    (-22.662405452377882, -53.389281500241538, 2),
    (-7.0684219174985357, -57.567676795196682, 2),
    (-1.0654075278254682e-14, -58, 2),
    (7.0684219174985659, -57.567676795196675, 2),
    (22.662405452377861, -53.389281500241552, 2),
    (24.511859180960577, -52.565851648125694, 2),
    (23.284854468843989, -28.754400573907919, 2),
    (28.754400573907912, -23.284854468843999, 2),
    (33.353980725641385, -41.18873595721945, 2),
    (41.188735957219443, -33.353980725641406, 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),
    (47, 92, -1, "", 0, 0),
    (5, 94, -1, "", 0, 0),
    (6, 95, -1, "", 0, 0),
    (8, 97, -1, "", 0, 0),
    (11, 98, -1, "", 0, 0),
    (13, 100, -1, "", 0, 0),
    (14, 101, -1, "", 0, 0),
    (16, 103, -1, "", 0, 0),
    (17, 104, -1, "", 0, 0),
    (19, 106, -1, "", 0, 0),
    (22, 107, -1, "", 0, 0),
    (24, 109, -1, "", 0, 0),
    (25, 110, -1, "", 0, 0),
    (27, 112, -1, "", 0, 0),
    (28, 113, -1, "", 0, 0),
    (30, 115, -1, "", 0, 0),
    (33, 116, -1, "", 0, 0),
    (35, 118, -1, "", 0, 0),
    (36, 119, -1, "", 0, 0),
    (38, 121, -1, "", 0, 0),
    (39, 122, -1, "", 0, 0),
    (41, 124, -1, "", 0, 0),
    (44, 125, -1, "", 0, 0),
    (46, 127, -1, "", 0, 0),
    (213, 216, -1, "", 0, 2),
    (175, 222, -1, "", 0, 2),
    (223, 225, -1, "", 0, 2),
    (224, 226, -1, "", 0, 2),
    (180, 227, -1, "", 0, 2),
    (186, 233, -1, "", 0, 2),
    (234, 236, -1, "", 0, 2),
    (235, 237, -1, "", 0, 2),
    (191, 238, -1, "", 0, 2),
    (197, 244, -1, "", 0, 2),
    (245, 247, -1, "", 0, 2),
    (246, 248, -1, "", 0, 2),
    (202, 249, -1, "", 0, 2),
    (208, 255, -1, "", 0, 2),
    (256, 258, -1, "", 0, 2),
    (257, 259, -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, 2, 10, "", 0, 0),
    (7, 8, 12, 10, "", 0, 0),
    (8, 9, 2, 10, "", 0, 0),
    (9, 10, 12, 10, "", 0, 0),
    (10, 11, 2, 10, "", 0, 0),
    (11, 12, 12, 10, "", 0, 0),
    (12, 13, 2, 10, "", 0, 0),
    (13, 14, 16, 10, "", 0, 0),
    (14, 15, 7, 10, "", 0, 0),
    (15, 16, 7, 10, "", 0, 0),
    (16, 17, 16, 10, "", 0, 0),
    (17, 18, 2, 10, "", 0, 0),
    (18, 19, 12, 10, "", 0, 0),
    (19, 20, 2, 10, "", 0, 0),
    (20, 21, 12, 10, "", 0, 0),
    (21, 22, 2, 10, "", 0, 0),
    (22, 23, 12, 10, "", 0, 0),
    (23, 24, 2, 10, "", 0, 0),
    (24, 25, 16, 10, "", 0, 0),
    (25, 26, 7, 10, "", 0, 0),
    (26, 27, 7, 10, "", 0, 0),
    (27, 28, 16, 10, "", 0, 0),
    (28, 29, 2, 10, "", 0, 0),
    (29, 30, 12, 10, "", 0, 0),
    (30, 31, 2, 10, "", 0, 0),
    (31, 32, 12, 10, "", 0, 0),
    (32, 33, 2, 10, "", 0, 0),
    (33, 34, 12, 10, "", 0, 0),
    (34, 35, 2, 10, "", 0, 0),
    (35, 36, 16, 10, "", 0, 0),
    (36, 37, 7, 10, "", 0, 0),
    (37, 38, 7, 10, "", 0, 0),
    (38, 39, 16, 10, "", 0, 0),
    (39, 40, 2, 10, "", 0, 0),
    (40, 41, 12, 10, "", 0, 0),
    (41, 42, 2, 10, "", 0, 0),
    (42, 43, 12, 10, "", 0, 0),
    (43, 44, 2, 10, "", 0, 0),
    (44, 45, 12, 10, "", 0, 0),
    (45, 46, 2, 10, "", 0, 0),
    (46, 47, 16, 10, "", 0, 0),
    (47, 4, 7, 10, "", 0, 0),
    (48, 49, 7, 10, "", 0, 0),
    (49, 50, 16, 10, "", 0, 0),
    (50, 51, 2, 10, "", 0, 0),
    (51, 52, 12, 10, "", 0, 0),
    (52, 53, 2, 10, "", 0, 0),
    (53, 54, 12, 10, "", 0, 0),
    (54, 55, 2, 10, "", 0, 0),
    (55, 56, 12, 10, "", 0, 0),
    (56, 57, 2, 10, "", 0, 0),
    (57, 58, 16, 10, "", 0, 0),
    (58, 59, 7, 10, "", 0, 0),
    (59, 60, 7, 10, "", 0, 0),
    (60, 61, 16, 10, "", 0, 0),
    (61, 62, 2, 10, "", 0, 0),
    (62, 63, 12, 10, "", 0, 0),
    (63, 64, 2, 10, "", 0, 0),
    (64, 65, 12, 10, "", 0, 0),
    (65, 66, 2, 10, "", 0, 0),
    (66, 67, 12, 10, "", 0, 0),
    (67, 68, 2, 10, "", 0, 0),
    (68, 69, 16, 10, "", 0, 0),
    (69, 70, 7, 10, "", 0, 0),
    (70, 71, 7, 10, "", 0, 0),
    (71, 72, 16, 10, "", 0, 0),
    (72, 73, 2, 10, "", 0, 0),
    (73, 74, 12, 10, "", 0, 0),
    (74, 75, 2, 10, "", 0, 0),
    (75, 76, 12, 10, "", 0, 0),
    (76, 77, 2, 10, "", 0, 0),
    (77, 78, 12, 10, "", 0, 0),
    (78, 79, 2, 10, "", 0, 0),
    (79, 80, 16, 10, "", 0, 0),
    (80, 81, 7, 10, "", 0, 0),
    (81, 82, 7, 10, "", 0, 0),
    (82, 83, 16, 10, "", 0, 0),
    (83, 84, 2, 10, "", 0, 0),
    (84, 85, 12, 10, "", 0, 0),
    (85, 86, 2, 10, "", 0, 0),
    (86, 87, 12, 10, "", 0, 0),
    (87, 88, 2, 10, "", 0, 0),
    (88, 89, 12, 10, "", 0, 0),
    (89, 90, 2, 10, "", 0, 0),
    (90, 91, 16, 10, "", 0, 0),
    (91, 48, 7, 10, "", 0, 0),
    (92, 93, 7, 10, "", 0, 0),
    (93, 94, 7, 10, "", 0, 0),
    (95, 96, 2, 10, "", 0, 0),
    (96, 97, 12, 10, "", 0, 0),
    (98, 99, 12, 10, "", 0, 0),
    (99, 100, 2, 10, "", 0, 0),
    (101, 102, 7, 10, "", 0, 0),
    (102, 103, 7, 10, "", 0, 0),
    (104, 105, 2, 10, "", 0, 0),
    (105, 106, 12, 10, "", 0, 0),
    (107, 108, 12, 10, "", 0, 0),
    (108, 109, 2, 10, "", 0, 0),
    (110, 111, 7, 10, "", 0, 0),
    (111, 112, 7, 10, "", 0, 0),
    (113, 114, 2, 10, "", 0, 0),
    (114, 115, 12, 10, "", 0, 0),
    (116, 117, 12, 10, "", 0, 0),
    (117, 118, 2, 10, "", 0, 0),
    (119, 120, 7, 10, "", 0, 0),
    (120, 121, 7, 10, "", 0, 0),
    (122, 123, 2, 10, "", 0, 0),
    (123, 124, 12, 10, "", 0, 0),
    (125, 126, 12, 10, "", 0, 0),
    (126, 127, 2, 10, "", 0, 0),
    (128, 129, 7, 10, "", 0, 2),
    (129, 130, 16, 10, "", 0, 2),
    (130, 131, 2, 10, "", 0, 2),
    (131, 132, 12, 10, "", 0, 2),
    (132, 133, 2, 10, "", 0, 2),
    (133, 134, 12, 10, "", 0, 2),
    (134, 135, 2, 10, "", 0, 2),
    (135, 136, 12, 10, "", 0, 2),
    (136, 137, 2, 10, "", 0, 2),
    (137, 138, 16, 10, "", 0, 2),
    (138, 139, 7, 10, "", 0, 2),
    (139, 140, 7, 10, "", 0, 2),
    (140, 141, 16, 10, "", 0, 2),
    (141, 142, 2, 10, "", 0, 2),
    (142, 143, 12, 10, "", 0, 2),
    (143, 144, 2, 10, "", 0, 2),
    (144, 145, 12, 10, "", 0, 2),
    (145, 146, 2, 10, "", 0, 2),
    (146, 147, 12, 10, "", 0, 2),
    (147, 148, 2, 10, "", 0, 2),
    (148, 149, 16, 10, "", 0, 2),
    (149, 150, 7, 10, "", 0, 2),
    (150, 151, 7, 10, "", 0, 2),
    (151, 152, 16, 10, "", 0, 2),
    (152, 153, 2, 10, "", 0, 2),
    (153, 154, 12, 10, "", 0, 2),
    (154, 155, 2, 10, "", 0, 2),
    (155, 156, 12, 10, "", 0, 2),
    (156, 157, 2, 10, "", 0, 2),
    (157, 158, 12, 10, "", 0, 2),
    (158, 159, 2, 10, "", 0, 2),
    (159, 160, 16, 10, "", 0, 2),
    (160, 161, 7, 10, "", 0, 2),
    (161, 162, 7, 10, "", 0, 2),
    (162, 163, 16, 10, "", 0, 2),
    (163, 164, 2, 10, "", 0, 2),
    (164, 165, 12, 10, "", 0, 2),
    (165, 166, 2, 10, "", 0, 2),
    (166, 167, 12, 10, "", 0, 2),
    (167, 168, 2, 10, "", 0, 2),
    (168, 169, 12, 10, "", 0, 2),
    (169, 170, 2, 10, "", 0, 2),
    (170, 171, 16, 10, "", 0, 2),
    (171, 128, 7, 10, "", 0, 2),
    (172, 173, 7, 10, "", 0, 2),
    (173, 174, 16, 10, "", 0, 2),
    (174, 175, 2, 10, "", 0, 2),
    (175, 176, 12, 10, "", 0, 2),
    (176, 177, 2, 10, "", 0, 2),
    (177, 178, 12, 10, "", 0, 2),
    (178, 179, 2, 10, "", 0, 2),
    (179, 180, 12, 10, "", 0, 2),
    (180, 181, 2, 10, "", 0, 2),
    (181, 182, 16, 10, "", 0, 2),
    (182, 183, 7, 10, "", 0, 2),
    (183, 184, 7, 10, "", 0, 2),
    (184, 185, 16, 10, "", 0, 2),
    (185, 186, 2, 10, "", 0, 2),
    (186, 187, 12, 10, "", 0, 2),
    (187, 188, 2, 10, "", 0, 2),
    (188, 189, 12, 10, "", 0, 2),
    (189, 190, 2, 10, "", 0, 2),
    (190, 191, 12, 10, "", 0, 2),
    (191, 192, 2, 10, "", 0, 2),
    (192, 193, 16, 10, "", 0, 2),
    (193, 194, 7, 10, "", 0, 2),
    (194, 195, 7, 10, "", 0, 2),
    (195, 196, 16, 10, "", 0, 2),
    (196, 197, 2, 10, "", 0, 2),
    (197, 198, 12, 10, "", 0, 2),
    (198, 199, 2, 10, "", 0, 2),
    (199, 200, 12, 10, "", 0, 2),
    (200, 201, 2, 10, "", 0, 2),
    (201, 202, 12, 10, "", 0, 2),
    (202, 203, 2, 10, "", 0, 2),
    (203, 204, 16, 10, "", 0, 2),
    (204, 205, 7, 10, "", 0, 2),
    (205, 206, 7, 10, "", 0, 2),
    (206, 207, 16, 10, "", 0, 2),
    (207, 208, 2, 10, "", 0, 2),
    (208, 209, 12, 10, "", 0, 2),
    (209, 210, 2, 10, "", 0, 2),
    (210, 211, 12, 10, "", 0, 2),
    (211, 212, 2, 10, "", 0, 2),
    (212, 213, 12, 10, "", 0, 2),
    (213, 214, 2, 10, "", 0, 2),
    (214, 215, 16, 10, "", 0, 2),
    (215, 172, 7, 10, "", 0, 2),
    (216, 217, 2, 10, "", 0, 2),
    (217, 218, 16, 10, "", 0, 2),
    (218, 219, 7, 10, "", 0, 2),
    (219, 220, 7, 10, "", 0, 2),
    (220, 221, 16, 10, "", 0, 2),
    (221, 222, 2, 10, "", 0, 2),
    (223, 224, 12, 10, "", 0, 2),
    (225, 226, 12, 10, "", 0, 2),
    (227, 228, 2, 10, "", 0, 2),
    (228, 229, 16, 10, "", 0, 2),
    (229, 230, 7, 10, "", 0, 2),
    (230, 231, 7, 10, "", 0, 2),
    (231, 232, 16, 10, "", 0, 2),
    (232, 233, 2, 10, "", 0, 2),
    (234, 235, 12, 10, "", 0, 2),
    (236, 237, 12, 10, "", 0, 2),
    (238, 239, 2, 10, "", 0, 2),
    (239, 240, 16, 10, "", 0, 2),
    (240, 241, 7, 10, "", 0, 2),
    (241, 242, 7, 10, "", 0, 2),
    (242, 243, 16, 10, "", 0, 2),
    (243, 244, 2, 10, "", 0, 2),
    (245, 246, 12, 10, "", 0, 2),
    (247, 248, 12, 10, "", 0, 2),
    (249, 250, 2, 10, "", 0, 2),
    (250, 251, 16, 10, "", 0, 2),
    (251, 252, 7, 10, "", 0, 2),
    (252, 253, 7, 10, "", 0, 2),
    (253, 254, 16, 10, "", 0, 2),
    (254, 255, 2, 10, "", 0, 2),
    (256, 257, 12, 10, "", 0, 2),
    (258, 259, 12, 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.55. Синхронная машина с явнополюсным ротором. Шаг 6: Отрезки и дуги. Открыть в полном размере

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

Этап 7 из 11

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

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

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

Таблица 24.57. Положения всех меток
№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Обмоточная область
14260Линейная сталь
15460Линейная сталь
1631,8231,82Обмоточная область
17046Линейная сталь
18-31,8231,82Обмоточная область
19-460Линейная сталь
20-31,82-31,82Обмоточная область
210-46Линейная сталь
2231,82-31,82Обмоточная область
2300Воздух
2456,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),
    (54.378467222198999, 25.357095704441967, 0),
    (47.918130602837572, 36.108901389122899, 0),
    (46.628757687418258, 37.759223462990242, 0),
    (37.759223462990249, 46.628757687418258, 0),
    (36.108901389122906, 47.918130602837572, 0),
    (25.357095704441967, 54.378467222198999, 0),
    (23.443867709356422, 55.230291207146422, 0),
    (7.3121606043088496, 59.552769098479317, 0),
    (3.6738190614671318e-15, 60, 0),
    (-7.3121606043088416, 59.552769098479324, 0),
    (-23.443867709356425, 55.230291207146415, 0),
    (-25.35709570444196, 54.378467222199006, 0),
    (-36.108901389122906, 47.918130602837564, 0),
    (-37.759223462990235, 46.628757687418258, 0),
    (-46.628757687418258, 37.759223462990242, 0),
    (-47.918130602837579, 36.108901389122892, 0),
    (-54.378467222198999, 25.357095704441971, 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),
    (-54.378467222199006, -25.357095704441956, 0),
    (-47.918130602837572, -36.108901389122906, 0),
    (-46.628757687418251, -37.759223462990256, 0),
    (-37.759223462990271, -46.628757687418236, 0),
    (-36.108901389122899, -47.918130602837572, 0),
    (-25.357095704441949, -54.378467222199006, 0),
    (-23.443867709356429, -55.230291207146415, 0),
    (-7.3121606043088301, -59.552769098479324, 0),
    (-1.1021457184401395e-14, -60, 0),
    (7.3121606043088612, -59.552769098479317, 0),
    (23.443867709356411, -55.230291207146429, 0),
    (25.357095704441978, -54.378467222198999, 0),
    (36.108901389122877, -47.918130602837586, 0),
    (37.759223462990249, -46.628757687418251, 0),
    (46.628757687418236, -37.759223462990271, 0),
    (47.918130602837572, -36.108901389122899, 0),
    (54.378467222199006, -25.357095704441953, 0),
    (55.230291207146415, -23.443867709356432, 0),
    (59.552769098479324, -7.3121606043088336, 0),
    (100, 0, 0),
    (99.254615164132204, 12.186934340514748, 0),
    (92.050485345244041, 39.07311284892738, 0),
    (90.630778703664987, 42.261826174069945, 0),
    (79.863551004729288, 60.181502315204824, 0),
    (77.714596145697087, 62.932039104983737, 0),
    (62.932039104983751, 77.714596145697087, 0),
    (60.181502315204838, 79.863551004729288, 0),
    (42.261826174069945, 90.630778703664987, 0),
    (39.073112848927373, 92.050485345244041, 0),
    (12.18693434051475, 99.254615164132204, 0),
    (6.1230317691118863e-15, 100, 0),
    (-12.186934340514737, 99.254615164132204, 0),
    (-39.07311284892738, 92.050485345244027, 0),
    (-42.261826174069931, 90.630778703665001, 0),
    (-60.181502315204838, 79.863551004729274, 0),
    (-62.93203910498373, 77.714596145697101, 0),
    (-77.714596145697087, 62.932039104983737, 0),
    (-79.863551004729288, 60.181502315204817, 0),
    (-90.630778703664987, 42.261826174069952, 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),
    (-90.630778703665001, -42.261826174069924, 0),
    (-79.863551004729288, -60.181502315204838, 0),
    (-77.714596145697072, -62.932039104983758, 0),
    (-62.932039104983787, -77.714596145697058, 0),
    (-60.181502315204824, -79.863551004729288, 0),
    (-42.261826174069917, -90.630778703665001, 0),
    (-39.07311284892738, -92.050485345244027, 0),
    (-12.186934340514718, -99.254615164132204, 0),
    (-1.8369095307335659e-14, -100, 0),
    (12.186934340514769, -99.254615164132204, 0),
    (39.073112848927352, -92.050485345244056, 0),
    (42.261826174069959, -90.630778703664987, 0),
    (60.181502315204796, -79.863551004729302, 0),
    (62.932039104983751, -77.714596145697072, 0),
    (77.714596145697058, -62.932039104983787, 0),
    (79.863551004729288, -60.181502315204824, 0),
    (90.630778703665001, -42.261826174069924, 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),
    (77.036161898115239, 35.922552247959452, 0),
    (67.884018354019886, 51.154276967924105, 0),
    (51.154276967924112, 67.884018354019886, 0),
    (35.922552247959452, 77.036161898115239, 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),
    (-35.922552247959445, 77.036161898115253, 0),
    (-51.154276967924112, 67.884018354019886, 0),
    (-67.884018354019901, 51.154276967924091, 0),
    (-77.036161898115239, 35.922552247959459, 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),
    (-77.036161898115253, -35.922552247959437, 0),
    (-67.884018354019886, -51.154276967924112, 0),
    (-51.154276967924105, -67.884018354019886, 0),
    (-35.92255224795943, -77.036161898115253, 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),
    (35.922552247959466, -77.036161898115239, 0),
    (51.154276967924076, -67.884018354019915, 0),
    (67.884018354019886, -51.154276967924105, 0),
    (77.036161898115253, -35.92255224795943, 0),
    (78.242912543457422, -33.212145921588281, 0),
    (18, 0, 2),
    (17.865830729543795, 2.1936481812926547, 2),
    (16.569087362143925, 7.0331603128069275, 2),
    (16.313540166659699, 7.6071287113325896, 2),
    (14.37543918085127, 10.832670416736869, 2),
    (13.988627306225476, 11.327767038897074, 2),
    (11.327767038897075, 13.988627306225476, 2),
    (10.832670416736871, 14.37543918085127, 2),
    (7.6071287113325896, 16.313540166659699, 2),
    (7.0331603128069267, 16.569087362143925, 2),
    (2.1936481812926547, 17.865830729543795, 2),
    (1.1021457184401395e-15, 18, 2),
    (-2.1936481812926525, 17.865830729543799, 2),
    (-7.0331603128069275, 16.569087362143925, 2),
    (-7.6071287113325878, 16.313540166659699, 2),
    (-10.832670416736871, 14.375439180851268, 2),
    (-11.327767038897072, 13.988627306225478, 2),
    (-13.988627306225476, 11.327767038897074, 2),
    (-14.375439180851274, 10.832670416736867, 2),
    (-16.313540166659699, 7.6071287113325905, 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),
    (-16.313540166659699, -7.6071287113325869, 2),
    (-14.37543918085127, -10.832670416736871, 2),
    (-13.988627306225474, -11.327767038897077, 2),
    (-11.327767038897081, -13.988627306225471, 2),
    (-10.832670416736869, -14.37543918085127, 2),
    (-7.6071287113325852, -16.313540166659699, 2),
    (-7.0331603128069293, -16.569087362143925, 2),
    (-2.1936481812926489, -17.865830729543799, 2),
    (-3.3064371553204186e-15, -18, 2),
    (2.1936481812926583, -17.865830729543795, 2),
    (7.0331603128069231, -16.569087362143929, 2),
    (7.6071287113325932, -16.313540166659699, 2),
    (10.832670416736862, -14.375439180851275, 2),
    (11.327767038897075, -13.988627306225474, 2),
    (13.988627306225471, -11.327767038897081, 2),
    (14.37543918085127, -10.832670416736869, 2),
    (16.313540166659699, -7.6071287113325861, 2),
    (16.569087362143925, -7.0331603128069302, 2),
    (17.865830729543799, -2.1936481812926503, 2),
    (35, 0, 2),
    (34.739115307446269, 4.2654270191801613, 2),
    (32.217669870835415, 13.675589497124582, 2),
    (31.720772546282749, 14.791639160924481, 2),
    (27.952242851655249, 21.063525810321689, 2),
    (27.200108650993982, 22.02621368674431, 2),
    (22.026213686744313, 27.200108650993982, 2),
    (21.063525810321693, 27.952242851655249, 2),
    (14.791639160924481, 31.720772546282749, 2),
    (13.67558949712458, 32.217669870835415, 2),
    (4.2654270191801622, 34.739115307446269, 2),
    (2.1430611191891602e-15, 35, 2),
    (-4.2654270191801578, 34.739115307446276, 2),
    (-13.675589497124582, 32.217669870835408, 2),
    (-14.791639160924477, 31.720772546282753, 2),
    (-21.063525810321693, 27.952242851655246, 2),
    (-22.026213686744306, 27.200108650993986, 2),
    (-27.200108650993982, 22.02621368674431, 2),
    (-27.952242851655253, 21.063525810321686, 2),
    (-31.720772546282749, 14.791639160924483, 2),
    (-32.217669870835415, 13.675589497124582, 2),
    (-34.739115307446269, 4.265427019180164, 2),
    (-35, 4.2861222383783204e-15, 2),
    (-34.739115307446276, -4.265427019180156, 2),
    (-32.217669870835415, -13.675589497124575, 2),
    (-31.720772546282753, -14.791639160924476, 2),
    (-27.952242851655249, -21.063525810321693, 2),
    (-27.200108650993979, -22.026213686744317, 2),
    (-22.026213686744324, -27.200108650993968, 2),
    (-21.063525810321689, -27.952242851655249, 2),
    (-14.79163916092447, -31.720772546282753, 2),
    (-13.675589497124584, -32.217669870835408, 2),
    (-4.2654270191801507, -34.739115307446276, 2),
    (-6.4291833575674806e-15, -35, 2),
    (4.2654270191801693, -34.739115307446269, 2),
    (13.675589497124573, -32.217669870835415, 2),
    (14.791639160924486, -31.720772546282749, 2),
    (21.063525810321678, -27.952242851655257, 2),
    (22.026213686744313, -27.200108650993979, 2),
    (27.200108650993968, -22.026213686744324, 2),
    (27.952242851655249, -21.063525810321689, 2),
    (31.720772546282753, -14.791639160924472, 2),
    (32.217669870835408, -13.675589497124585, 2),
    (34.739115307446276, -4.2654270191801533, 2),
    (52.565851648125701, -24.511859180960556, 2),
    (53.389281500241538, -22.662405452377886, 2),
    (57.567676795196682, -7.0684219174985392, 2),
    (58, -1.4205433704339576e-14, 2),
    (57.567676795196675, 7.0684219174985623, 2),
    (53.389281500241552, 22.662405452377861, 2),
    (52.565851648125694, 24.511859180960574, 2),
    (28.754400573907922, 23.284854468843985, 2),
    (23.284854468843989, 28.754400573907922, 2),
    (41.188735957219457, 33.353980725641385, 2),
    (33.353980725641385, 41.188735957219457, 2),
    (24.511859180960567, 52.565851648125694, 2),
    (22.662405452377875, 53.389281500241545, 2),
    (7.0684219174985543, 57.567676795196675, 2),
    (3.551358426084894e-15, 58, 2),
    (-7.0684219174985472, 57.567676795196682, 2),
    (-22.662405452377879, 53.389281500241538, 2),
    (-24.51185918096056, 52.565851648125701, 2),
    (-23.284854468843978, 28.754400573907926, 2),
    (-28.754400573907922, 23.284854468843985, 2),
    (-33.353980725641378, 41.188735957219464, 2),
    (-41.188735957219457, 33.353980725641385, 2),
    (-52.565851648125694, 24.51185918096057, 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),
    (-52.565851648125701, -24.511859180960556, 2),
    (-28.754400573907919, -23.284854468843992, 2),
    (-23.284854468843999, -28.754400573907912, 2),
    (-41.18873595721945, -33.353980725641392, 2),
    (-33.353980725641406, -41.188735957219443, 2),
    (-24.511859180960553, -52.565851648125701, 2),
    (-22.662405452377882, -53.389281500241538, 2),
    (-7.0684219174985357, -57.567676795196682, 2),
    (-1.0654075278254682e-14, -58, 2),
    (7.0684219174985659, -57.567676795196675, 2),
    (22.662405452377861, -53.389281500241552, 2),
    (24.511859180960577, -52.565851648125694, 2),
    (23.284854468843989, -28.754400573907919, 2),
    (28.754400573907912, -23.284854468843999, 2),
    (33.353980725641385, -41.18873595721945, 2),
    (41.188735957219443, -33.353980725641406, 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),
    (47, 92, -1, "", 0, 0),
    (5, 94, -1, "", 0, 0),
    (6, 95, -1, "", 0, 0),
    (8, 97, -1, "", 0, 0),
    (11, 98, -1, "", 0, 0),
    (13, 100, -1, "", 0, 0),
    (14, 101, -1, "", 0, 0),
    (16, 103, -1, "", 0, 0),
    (17, 104, -1, "", 0, 0),
    (19, 106, -1, "", 0, 0),
    (22, 107, -1, "", 0, 0),
    (24, 109, -1, "", 0, 0),
    (25, 110, -1, "", 0, 0),
    (27, 112, -1, "", 0, 0),
    (28, 113, -1, "", 0, 0),
    (30, 115, -1, "", 0, 0),
    (33, 116, -1, "", 0, 0),
    (35, 118, -1, "", 0, 0),
    (36, 119, -1, "", 0, 0),
    (38, 121, -1, "", 0, 0),
    (39, 122, -1, "", 0, 0),
    (41, 124, -1, "", 0, 0),
    (44, 125, -1, "", 0, 0),
    (46, 127, -1, "", 0, 0),
    (213, 216, -1, "", 0, 2),
    (175, 222, -1, "", 0, 2),
    (223, 225, -1, "", 0, 2),
    (224, 226, -1, "", 0, 2),
    (180, 227, -1, "", 0, 2),
    (186, 233, -1, "", 0, 2),
    (234, 236, -1, "", 0, 2),
    (235, 237, -1, "", 0, 2),
    (191, 238, -1, "", 0, 2),
    (197, 244, -1, "", 0, 2),
    (245, 247, -1, "", 0, 2),
    (246, 248, -1, "", 0, 2),
    (202, 249, -1, "", 0, 2),
    (208, 255, -1, "", 0, 2),
    (256, 258, -1, "", 0, 2),
    (257, 259, -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, 2, 10, "", 0, 0),
    (7, 8, 12, 10, "", 0, 0),
    (8, 9, 2, 10, "", 0, 0),
    (9, 10, 12, 10, "", 0, 0),
    (10, 11, 2, 10, "", 0, 0),
    (11, 12, 12, 10, "", 0, 0),
    (12, 13, 2, 10, "", 0, 0),
    (13, 14, 16, 10, "", 0, 0),
    (14, 15, 7, 10, "", 0, 0),
    (15, 16, 7, 10, "", 0, 0),
    (16, 17, 16, 10, "", 0, 0),
    (17, 18, 2, 10, "", 0, 0),
    (18, 19, 12, 10, "", 0, 0),
    (19, 20, 2, 10, "", 0, 0),
    (20, 21, 12, 10, "", 0, 0),
    (21, 22, 2, 10, "", 0, 0),
    (22, 23, 12, 10, "", 0, 0),
    (23, 24, 2, 10, "", 0, 0),
    (24, 25, 16, 10, "", 0, 0),
    (25, 26, 7, 10, "", 0, 0),
    (26, 27, 7, 10, "", 0, 0),
    (27, 28, 16, 10, "", 0, 0),
    (28, 29, 2, 10, "", 0, 0),
    (29, 30, 12, 10, "", 0, 0),
    (30, 31, 2, 10, "", 0, 0),
    (31, 32, 12, 10, "", 0, 0),
    (32, 33, 2, 10, "", 0, 0),
    (33, 34, 12, 10, "", 0, 0),
    (34, 35, 2, 10, "", 0, 0),
    (35, 36, 16, 10, "", 0, 0),
    (36, 37, 7, 10, "", 0, 0),
    (37, 38, 7, 10, "", 0, 0),
    (38, 39, 16, 10, "", 0, 0),
    (39, 40, 2, 10, "", 0, 0),
    (40, 41, 12, 10, "", 0, 0),
    (41, 42, 2, 10, "", 0, 0),
    (42, 43, 12, 10, "", 0, 0),
    (43, 44, 2, 10, "", 0, 0),
    (44, 45, 12, 10, "", 0, 0),
    (45, 46, 2, 10, "", 0, 0),
    (46, 47, 16, 10, "", 0, 0),
    (47, 4, 7, 10, "", 0, 0),
    (48, 49, 7, 10, "", 0, 0),
    (49, 50, 16, 10, "", 0, 0),
    (50, 51, 2, 10, "", 0, 0),
    (51, 52, 12, 10, "", 0, 0),
    (52, 53, 2, 10, "", 0, 0),
    (53, 54, 12, 10, "", 0, 0),
    (54, 55, 2, 10, "", 0, 0),
    (55, 56, 12, 10, "", 0, 0),
    (56, 57, 2, 10, "", 0, 0),
    (57, 58, 16, 10, "", 0, 0),
    (58, 59, 7, 10, "", 0, 0),
    (59, 60, 7, 10, "", 0, 0),
    (60, 61, 16, 10, "", 0, 0),
    (61, 62, 2, 10, "", 0, 0),
    (62, 63, 12, 10, "", 0, 0),
    (63, 64, 2, 10, "", 0, 0),
    (64, 65, 12, 10, "", 0, 0),
    (65, 66, 2, 10, "", 0, 0),
    (66, 67, 12, 10, "", 0, 0),
    (67, 68, 2, 10, "", 0, 0),
    (68, 69, 16, 10, "", 0, 0),
    (69, 70, 7, 10, "", 0, 0),
    (70, 71, 7, 10, "", 0, 0),
    (71, 72, 16, 10, "", 0, 0),
    (72, 73, 2, 10, "", 0, 0),
    (73, 74, 12, 10, "", 0, 0),
    (74, 75, 2, 10, "", 0, 0),
    (75, 76, 12, 10, "", 0, 0),
    (76, 77, 2, 10, "", 0, 0),
    (77, 78, 12, 10, "", 0, 0),
    (78, 79, 2, 10, "", 0, 0),
    (79, 80, 16, 10, "", 0, 0),
    (80, 81, 7, 10, "", 0, 0),
    (81, 82, 7, 10, "", 0, 0),
    (82, 83, 16, 10, "", 0, 0),
    (83, 84, 2, 10, "", 0, 0),
    (84, 85, 12, 10, "", 0, 0),
    (85, 86, 2, 10, "", 0, 0),
    (86, 87, 12, 10, "", 0, 0),
    (87, 88, 2, 10, "", 0, 0),
    (88, 89, 12, 10, "", 0, 0),
    (89, 90, 2, 10, "", 0, 0),
    (90, 91, 16, 10, "", 0, 0),
    (91, 48, 7, 10, "", 0, 0),
    (92, 93, 7, 10, "", 0, 0),
    (93, 94, 7, 10, "", 0, 0),
    (95, 96, 2, 10, "", 0, 0),
    (96, 97, 12, 10, "", 0, 0),
    (98, 99, 12, 10, "", 0, 0),
    (99, 100, 2, 10, "", 0, 0),
    (101, 102, 7, 10, "", 0, 0),
    (102, 103, 7, 10, "", 0, 0),
    (104, 105, 2, 10, "", 0, 0),
    (105, 106, 12, 10, "", 0, 0),
    (107, 108, 12, 10, "", 0, 0),
    (108, 109, 2, 10, "", 0, 0),
    (110, 111, 7, 10, "", 0, 0),
    (111, 112, 7, 10, "", 0, 0),
    (113, 114, 2, 10, "", 0, 0),
    (114, 115, 12, 10, "", 0, 0),
    (116, 117, 12, 10, "", 0, 0),
    (117, 118, 2, 10, "", 0, 0),
    (119, 120, 7, 10, "", 0, 0),
    (120, 121, 7, 10, "", 0, 0),
    (122, 123, 2, 10, "", 0, 0),
    (123, 124, 12, 10, "", 0, 0),
    (125, 126, 12, 10, "", 0, 0),
    (126, 127, 2, 10, "", 0, 0),
    (128, 129, 7, 10, "", 0, 2),
    (129, 130, 16, 10, "", 0, 2),
    (130, 131, 2, 10, "", 0, 2),
    (131, 132, 12, 10, "", 0, 2),
    (132, 133, 2, 10, "", 0, 2),
    (133, 134, 12, 10, "", 0, 2),
    (134, 135, 2, 10, "", 0, 2),
    (135, 136, 12, 10, "", 0, 2),
    (136, 137, 2, 10, "", 0, 2),
    (137, 138, 16, 10, "", 0, 2),
    (138, 139, 7, 10, "", 0, 2),
    (139, 140, 7, 10, "", 0, 2),
    (140, 141, 16, 10, "", 0, 2),
    (141, 142, 2, 10, "", 0, 2),
    (142, 143, 12, 10, "", 0, 2),
    (143, 144, 2, 10, "", 0, 2),
    (144, 145, 12, 10, "", 0, 2),
    (145, 146, 2, 10, "", 0, 2),
    (146, 147, 12, 10, "", 0, 2),
    (147, 148, 2, 10, "", 0, 2),
    (148, 149, 16, 10, "", 0, 2),
    (149, 150, 7, 10, "", 0, 2),
    (150, 151, 7, 10, "", 0, 2),
    (151, 152, 16, 10, "", 0, 2),
    (152, 153, 2, 10, "", 0, 2),
    (153, 154, 12, 10, "", 0, 2),
    (154, 155, 2, 10, "", 0, 2),
    (155, 156, 12, 10, "", 0, 2),
    (156, 157, 2, 10, "", 0, 2),
    (157, 158, 12, 10, "", 0, 2),
    (158, 159, 2, 10, "", 0, 2),
    (159, 160, 16, 10, "", 0, 2),
    (160, 161, 7, 10, "", 0, 2),
    (161, 162, 7, 10, "", 0, 2),
    (162, 163, 16, 10, "", 0, 2),
    (163, 164, 2, 10, "", 0, 2),
    (164, 165, 12, 10, "", 0, 2),
    (165, 166, 2, 10, "", 0, 2),
    (166, 167, 12, 10, "", 0, 2),
    (167, 168, 2, 10, "", 0, 2),
    (168, 169, 12, 10, "", 0, 2),
    (169, 170, 2, 10, "", 0, 2),
    (170, 171, 16, 10, "", 0, 2),
    (171, 128, 7, 10, "", 0, 2),
    (172, 173, 7, 10, "", 0, 2),
    (173, 174, 16, 10, "", 0, 2),
    (174, 175, 2, 10, "", 0, 2),
    (175, 176, 12, 10, "", 0, 2),
    (176, 177, 2, 10, "", 0, 2),
    (177, 178, 12, 10, "", 0, 2),
    (178, 179, 2, 10, "", 0, 2),
    (179, 180, 12, 10, "", 0, 2),
    (180, 181, 2, 10, "", 0, 2),
    (181, 182, 16, 10, "", 0, 2),
    (182, 183, 7, 10, "", 0, 2),
    (183, 184, 7, 10, "", 0, 2),
    (184, 185, 16, 10, "", 0, 2),
    (185, 186, 2, 10, "", 0, 2),
    (186, 187, 12, 10, "", 0, 2),
    (187, 188, 2, 10, "", 0, 2),
    (188, 189, 12, 10, "", 0, 2),
    (189, 190, 2, 10, "", 0, 2),
    (190, 191, 12, 10, "", 0, 2),
    (191, 192, 2, 10, "", 0, 2),
    (192, 193, 16, 10, "", 0, 2),
    (193, 194, 7, 10, "", 0, 2),
    (194, 195, 7, 10, "", 0, 2),
    (195, 196, 16, 10, "", 0, 2),
    (196, 197, 2, 10, "", 0, 2),
    (197, 198, 12, 10, "", 0, 2),
    (198, 199, 2, 10, "", 0, 2),
    (199, 200, 12, 10, "", 0, 2),
    (200, 201, 2, 10, "", 0, 2),
    (201, 202, 12, 10, "", 0, 2),
    (202, 203, 2, 10, "", 0, 2),
    (203, 204, 16, 10, "", 0, 2),
    (204, 205, 7, 10, "", 0, 2),
    (205, 206, 7, 10, "", 0, 2),
    (206, 207, 16, 10, "", 0, 2),
    (207, 208, 2, 10, "", 0, 2),
    (208, 209, 12, 10, "", 0, 2),
    (209, 210, 2, 10, "", 0, 2),
    (210, 211, 12, 10, "", 0, 2),
    (211, 212, 2, 10, "", 0, 2),
    (212, 213, 12, 10, "", 0, 2),
    (213, 214, 2, 10, "", 0, 2),
    (214, 215, 16, 10, "", 0, 2),
    (215, 172, 7, 10, "", 0, 2),
    (216, 217, 2, 10, "", 0, 2),
    (217, 218, 16, 10, "", 0, 2),
    (218, 219, 7, 10, "", 0, 2),
    (219, 220, 7, 10, "", 0, 2),
    (220, 221, 16, 10, "", 0, 2),
    (221, 222, 2, 10, "", 0, 2),
    (223, 224, 12, 10, "", 0, 2),
    (225, 226, 12, 10, "", 0, 2),
    (227, 228, 2, 10, "", 0, 2),
    (228, 229, 16, 10, "", 0, 2),
    (229, 230, 7, 10, "", 0, 2),
    (230, 231, 7, 10, "", 0, 2),
    (231, 232, 16, 10, "", 0, 2),
    (232, 233, 2, 10, "", 0, 2),
    (234, 235, 12, 10, "", 0, 2),
    (236, 237, 12, 10, "", 0, 2),
    (238, 239, 2, 10, "", 0, 2),
    (239, 240, 16, 10, "", 0, 2),
    (240, 241, 7, 10, "", 0, 2),
    (241, 242, 7, 10, "", 0, 2),
    (242, 243, 16, 10, "", 0, 2),
    (243, 244, 2, 10, "", 0, 2),
    (245, 246, 12, 10, "", 0, 2),
    (247, 248, 12, 10, "", 0, 2),
    (249, 250, 2, 10, "", 0, 2),
    (250, 251, 16, 10, "", 0, 2),
    (251, 252, 7, 10, "", 0, 2),
    (252, 253, 7, 10, "", 0, 2),
    (253, 254, 16, 10, "", 0, 2),
    (254, 255, 2, 10, "", 0, 2),
    (256, 257, 12, 10, "", 0, 2),
    (258, 259, 12, 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),
    (26, 0, "", 0, "", 0, 0, 1),
    (46, 0, "", 0, "", 0, 0, 1),
    (31.81980515339464, 31.819805153394636, "", 0, "", 0, 0, 1),
    (2.8165946137914677e-15, 46, "", 0, "", 0, 0, 1),
    (-31.819805153394636, 31.81980515339464, "", 0, "", 0, 0, 1),
    (-46, 5.6331892275829354e-15, "", 0, "", 0, 0, 1),
    (-31.819805153394647, -31.819805153394636, "", 0, "", 0, 0, 1),
    (-8.4497838413744031e-15, -46, "", 0, "", 0, 0, 1),
    (31.819805153394629, -31.819805153394647, "", 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.56. Синхронная машина с явнополюсным ротором. Шаг 7: Метки замкнутых областей. Открыть в полном размере

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

Этап 8 из 11

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

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

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

Таблица 24.58. Материалы, цепи и витки каждой области
№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
14260Линейная стальНет10^\circ2
15460Линейная стальНет10^\circ2
1631,8231,82Обмоточная областьОбмотка возбуждения1500^\circ2
17046Линейная стальНет10^\circ2
18-31,8231,82Обмоточная областьОбмотка возбуждения-1500^\circ2
19-460Линейная стальНет10^\circ2
20-31,82-31,82Обмоточная областьОбмотка возбуждения1500^\circ2
210-46Линейная стальНет10^\circ2
2231,82-31,82Обмоточная областьОбмотка возбуждения-1500^\circ2
2300ВоздухНет10^\circ2
2456,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),
    (54.378467222198999, 25.357095704441967, 0),
    (47.918130602837572, 36.108901389122899, 0),
    (46.628757687418258, 37.759223462990242, 0),
    (37.759223462990249, 46.628757687418258, 0),
    (36.108901389122906, 47.918130602837572, 0),
    (25.357095704441967, 54.378467222198999, 0),
    (23.443867709356422, 55.230291207146422, 0),
    (7.3121606043088496, 59.552769098479317, 0),
    (3.6738190614671318e-15, 60, 0),
    (-7.3121606043088416, 59.552769098479324, 0),
    (-23.443867709356425, 55.230291207146415, 0),
    (-25.35709570444196, 54.378467222199006, 0),
    (-36.108901389122906, 47.918130602837564, 0),
    (-37.759223462990235, 46.628757687418258, 0),
    (-46.628757687418258, 37.759223462990242, 0),
    (-47.918130602837579, 36.108901389122892, 0),
    (-54.378467222198999, 25.357095704441971, 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),
    (-54.378467222199006, -25.357095704441956, 0),
    (-47.918130602837572, -36.108901389122906, 0),
    (-46.628757687418251, -37.759223462990256, 0),
    (-37.759223462990271, -46.628757687418236, 0),
    (-36.108901389122899, -47.918130602837572, 0),
    (-25.357095704441949, -54.378467222199006, 0),
    (-23.443867709356429, -55.230291207146415, 0),
    (-7.3121606043088301, -59.552769098479324, 0),
    (-1.1021457184401395e-14, -60, 0),
    (7.3121606043088612, -59.552769098479317, 0),
    (23.443867709356411, -55.230291207146429, 0),
    (25.357095704441978, -54.378467222198999, 0),
    (36.108901389122877, -47.918130602837586, 0),
    (37.759223462990249, -46.628757687418251, 0),
    (46.628757687418236, -37.759223462990271, 0),
    (47.918130602837572, -36.108901389122899, 0),
    (54.378467222199006, -25.357095704441953, 0),
    (55.230291207146415, -23.443867709356432, 0),
    (59.552769098479324, -7.3121606043088336, 0),
    (100, 0, 0),
    (99.254615164132204, 12.186934340514748, 0),
    (92.050485345244041, 39.07311284892738, 0),
    (90.630778703664987, 42.261826174069945, 0),
    (79.863551004729288, 60.181502315204824, 0),
    (77.714596145697087, 62.932039104983737, 0),
    (62.932039104983751, 77.714596145697087, 0),
    (60.181502315204838, 79.863551004729288, 0),
    (42.261826174069945, 90.630778703664987, 0),
    (39.073112848927373, 92.050485345244041, 0),
    (12.18693434051475, 99.254615164132204, 0),
    (6.1230317691118863e-15, 100, 0),
    (-12.186934340514737, 99.254615164132204, 0),
    (-39.07311284892738, 92.050485345244027, 0),
    (-42.261826174069931, 90.630778703665001, 0),
    (-60.181502315204838, 79.863551004729274, 0),
    (-62.93203910498373, 77.714596145697101, 0),
    (-77.714596145697087, 62.932039104983737, 0),
    (-79.863551004729288, 60.181502315204817, 0),
    (-90.630778703664987, 42.261826174069952, 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),
    (-90.630778703665001, -42.261826174069924, 0),
    (-79.863551004729288, -60.181502315204838, 0),
    (-77.714596145697072, -62.932039104983758, 0),
    (-62.932039104983787, -77.714596145697058, 0),
    (-60.181502315204824, -79.863551004729288, 0),
    (-42.261826174069917, -90.630778703665001, 0),
    (-39.07311284892738, -92.050485345244027, 0),
    (-12.186934340514718, -99.254615164132204, 0),
    (-1.8369095307335659e-14, -100, 0),
    (12.186934340514769, -99.254615164132204, 0),
    (39.073112848927352, -92.050485345244056, 0),
    (42.261826174069959, -90.630778703664987, 0),
    (60.181502315204796, -79.863551004729302, 0),
    (62.932039104983751, -77.714596145697072, 0),
    (77.714596145697058, -62.932039104983787, 0),
    (79.863551004729288, -60.181502315204824, 0),
    (90.630778703665001, -42.261826174069924, 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),
    (77.036161898115239, 35.922552247959452, 0),
    (67.884018354019886, 51.154276967924105, 0),
    (51.154276967924112, 67.884018354019886, 0),
    (35.922552247959452, 77.036161898115239, 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),
    (-35.922552247959445, 77.036161898115253, 0),
    (-51.154276967924112, 67.884018354019886, 0),
    (-67.884018354019901, 51.154276967924091, 0),
    (-77.036161898115239, 35.922552247959459, 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),
    (-77.036161898115253, -35.922552247959437, 0),
    (-67.884018354019886, -51.154276967924112, 0),
    (-51.154276967924105, -67.884018354019886, 0),
    (-35.92255224795943, -77.036161898115253, 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),
    (35.922552247959466, -77.036161898115239, 0),
    (51.154276967924076, -67.884018354019915, 0),
    (67.884018354019886, -51.154276967924105, 0),
    (77.036161898115253, -35.92255224795943, 0),
    (78.242912543457422, -33.212145921588281, 0),
    (18, 0, 2),
    (17.865830729543795, 2.1936481812926547, 2),
    (16.569087362143925, 7.0331603128069275, 2),
    (16.313540166659699, 7.6071287113325896, 2),
    (14.37543918085127, 10.832670416736869, 2),
    (13.988627306225476, 11.327767038897074, 2),
    (11.327767038897075, 13.988627306225476, 2),
    (10.832670416736871, 14.37543918085127, 2),
    (7.6071287113325896, 16.313540166659699, 2),
    (7.0331603128069267, 16.569087362143925, 2),
    (2.1936481812926547, 17.865830729543795, 2),
    (1.1021457184401395e-15, 18, 2),
    (-2.1936481812926525, 17.865830729543799, 2),
    (-7.0331603128069275, 16.569087362143925, 2),
    (-7.6071287113325878, 16.313540166659699, 2),
    (-10.832670416736871, 14.375439180851268, 2),
    (-11.327767038897072, 13.988627306225478, 2),
    (-13.988627306225476, 11.327767038897074, 2),
    (-14.375439180851274, 10.832670416736867, 2),
    (-16.313540166659699, 7.6071287113325905, 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),
    (-16.313540166659699, -7.6071287113325869, 2),
    (-14.37543918085127, -10.832670416736871, 2),
    (-13.988627306225474, -11.327767038897077, 2),
    (-11.327767038897081, -13.988627306225471, 2),
    (-10.832670416736869, -14.37543918085127, 2),
    (-7.6071287113325852, -16.313540166659699, 2),
    (-7.0331603128069293, -16.569087362143925, 2),
    (-2.1936481812926489, -17.865830729543799, 2),
    (-3.3064371553204186e-15, -18, 2),
    (2.1936481812926583, -17.865830729543795, 2),
    (7.0331603128069231, -16.569087362143929, 2),
    (7.6071287113325932, -16.313540166659699, 2),
    (10.832670416736862, -14.375439180851275, 2),
    (11.327767038897075, -13.988627306225474, 2),
    (13.988627306225471, -11.327767038897081, 2),
    (14.37543918085127, -10.832670416736869, 2),
    (16.313540166659699, -7.6071287113325861, 2),
    (16.569087362143925, -7.0331603128069302, 2),
    (17.865830729543799, -2.1936481812926503, 2),
    (35, 0, 2),
    (34.739115307446269, 4.2654270191801613, 2),
    (32.217669870835415, 13.675589497124582, 2),
    (31.720772546282749, 14.791639160924481, 2),
    (27.952242851655249, 21.063525810321689, 2),
    (27.200108650993982, 22.02621368674431, 2),
    (22.026213686744313, 27.200108650993982, 2),
    (21.063525810321693, 27.952242851655249, 2),
    (14.791639160924481, 31.720772546282749, 2),
    (13.67558949712458, 32.217669870835415, 2),
    (4.2654270191801622, 34.739115307446269, 2),
    (2.1430611191891602e-15, 35, 2),
    (-4.2654270191801578, 34.739115307446276, 2),
    (-13.675589497124582, 32.217669870835408, 2),
    (-14.791639160924477, 31.720772546282753, 2),
    (-21.063525810321693, 27.952242851655246, 2),
    (-22.026213686744306, 27.200108650993986, 2),
    (-27.200108650993982, 22.02621368674431, 2),
    (-27.952242851655253, 21.063525810321686, 2),
    (-31.720772546282749, 14.791639160924483, 2),
    (-32.217669870835415, 13.675589497124582, 2),
    (-34.739115307446269, 4.265427019180164, 2),
    (-35, 4.2861222383783204e-15, 2),
    (-34.739115307446276, -4.265427019180156, 2),
    (-32.217669870835415, -13.675589497124575, 2),
    (-31.720772546282753, -14.791639160924476, 2),
    (-27.952242851655249, -21.063525810321693, 2),
    (-27.200108650993979, -22.026213686744317, 2),
    (-22.026213686744324, -27.200108650993968, 2),
    (-21.063525810321689, -27.952242851655249, 2),
    (-14.79163916092447, -31.720772546282753, 2),
    (-13.675589497124584, -32.217669870835408, 2),
    (-4.2654270191801507, -34.739115307446276, 2),
    (-6.4291833575674806e-15, -35, 2),
    (4.2654270191801693, -34.739115307446269, 2),
    (13.675589497124573, -32.217669870835415, 2),
    (14.791639160924486, -31.720772546282749, 2),
    (21.063525810321678, -27.952242851655257, 2),
    (22.026213686744313, -27.200108650993979, 2),
    (27.200108650993968, -22.026213686744324, 2),
    (27.952242851655249, -21.063525810321689, 2),
    (31.720772546282753, -14.791639160924472, 2),
    (32.217669870835408, -13.675589497124585, 2),
    (34.739115307446276, -4.2654270191801533, 2),
    (52.565851648125701, -24.511859180960556, 2),
    (53.389281500241538, -22.662405452377886, 2),
    (57.567676795196682, -7.0684219174985392, 2),
    (58, -1.4205433704339576e-14, 2),
    (57.567676795196675, 7.0684219174985623, 2),
    (53.389281500241552, 22.662405452377861, 2),
    (52.565851648125694, 24.511859180960574, 2),
    (28.754400573907922, 23.284854468843985, 2),
    (23.284854468843989, 28.754400573907922, 2),
    (41.188735957219457, 33.353980725641385, 2),
    (33.353980725641385, 41.188735957219457, 2),
    (24.511859180960567, 52.565851648125694, 2),
    (22.662405452377875, 53.389281500241545, 2),
    (7.0684219174985543, 57.567676795196675, 2),
    (3.551358426084894e-15, 58, 2),
    (-7.0684219174985472, 57.567676795196682, 2),
    (-22.662405452377879, 53.389281500241538, 2),
    (-24.51185918096056, 52.565851648125701, 2),
    (-23.284854468843978, 28.754400573907926, 2),
    (-28.754400573907922, 23.284854468843985, 2),
    (-33.353980725641378, 41.188735957219464, 2),
    (-41.188735957219457, 33.353980725641385, 2),
    (-52.565851648125694, 24.51185918096057, 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),
    (-52.565851648125701, -24.511859180960556, 2),
    (-28.754400573907919, -23.284854468843992, 2),
    (-23.284854468843999, -28.754400573907912, 2),
    (-41.18873595721945, -33.353980725641392, 2),
    (-33.353980725641406, -41.188735957219443, 2),
    (-24.511859180960553, -52.565851648125701, 2),
    (-22.662405452377882, -53.389281500241538, 2),
    (-7.0684219174985357, -57.567676795196682, 2),
    (-1.0654075278254682e-14, -58, 2),
    (7.0684219174985659, -57.567676795196675, 2),
    (22.662405452377861, -53.389281500241552, 2),
    (24.511859180960577, -52.565851648125694, 2),
    (23.284854468843989, -28.754400573907919, 2),
    (28.754400573907912, -23.284854468843999, 2),
    (33.353980725641385, -41.18873595721945, 2),
    (41.188735957219443, -33.353980725641406, 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),
    (47, 92, -1, "", 0, 0),
    (5, 94, -1, "", 0, 0),
    (6, 95, -1, "", 0, 0),
    (8, 97, -1, "", 0, 0),
    (11, 98, -1, "", 0, 0),
    (13, 100, -1, "", 0, 0),
    (14, 101, -1, "", 0, 0),
    (16, 103, -1, "", 0, 0),
    (17, 104, -1, "", 0, 0),
    (19, 106, -1, "", 0, 0),
    (22, 107, -1, "", 0, 0),
    (24, 109, -1, "", 0, 0),
    (25, 110, -1, "", 0, 0),
    (27, 112, -1, "", 0, 0),
    (28, 113, -1, "", 0, 0),
    (30, 115, -1, "", 0, 0),
    (33, 116, -1, "", 0, 0),
    (35, 118, -1, "", 0, 0),
    (36, 119, -1, "", 0, 0),
    (38, 121, -1, "", 0, 0),
    (39, 122, -1, "", 0, 0),
    (41, 124, -1, "", 0, 0),
    (44, 125, -1, "", 0, 0),
    (46, 127, -1, "", 0, 0),
    (213, 216, -1, "", 0, 2),
    (175, 222, -1, "", 0, 2),
    (223, 225, -1, "", 0, 2),
    (224, 226, -1, "", 0, 2),
    (180, 227, -1, "", 0, 2),
    (186, 233, -1, "", 0, 2),
    (234, 236, -1, "", 0, 2),
    (235, 237, -1, "", 0, 2),
    (191, 238, -1, "", 0, 2),
    (197, 244, -1, "", 0, 2),
    (245, 247, -1, "", 0, 2),
    (246, 248, -1, "", 0, 2),
    (202, 249, -1, "", 0, 2),
    (208, 255, -1, "", 0, 2),
    (256, 258, -1, "", 0, 2),
    (257, 259, -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, 2, 10, "", 0, 0),
    (7, 8, 12, 10, "", 0, 0),
    (8, 9, 2, 10, "", 0, 0),
    (9, 10, 12, 10, "", 0, 0),
    (10, 11, 2, 10, "", 0, 0),
    (11, 12, 12, 10, "", 0, 0),
    (12, 13, 2, 10, "", 0, 0),
    (13, 14, 16, 10, "", 0, 0),
    (14, 15, 7, 10, "", 0, 0),
    (15, 16, 7, 10, "", 0, 0),
    (16, 17, 16, 10, "", 0, 0),
    (17, 18, 2, 10, "", 0, 0),
    (18, 19, 12, 10, "", 0, 0),
    (19, 20, 2, 10, "", 0, 0),
    (20, 21, 12, 10, "", 0, 0),
    (21, 22, 2, 10, "", 0, 0),
    (22, 23, 12, 10, "", 0, 0),
    (23, 24, 2, 10, "", 0, 0),
    (24, 25, 16, 10, "", 0, 0),
    (25, 26, 7, 10, "", 0, 0),
    (26, 27, 7, 10, "", 0, 0),
    (27, 28, 16, 10, "", 0, 0),
    (28, 29, 2, 10, "", 0, 0),
    (29, 30, 12, 10, "", 0, 0),
    (30, 31, 2, 10, "", 0, 0),
    (31, 32, 12, 10, "", 0, 0),
    (32, 33, 2, 10, "", 0, 0),
    (33, 34, 12, 10, "", 0, 0),
    (34, 35, 2, 10, "", 0, 0),
    (35, 36, 16, 10, "", 0, 0),
    (36, 37, 7, 10, "", 0, 0),
    (37, 38, 7, 10, "", 0, 0),
    (38, 39, 16, 10, "", 0, 0),
    (39, 40, 2, 10, "", 0, 0),
    (40, 41, 12, 10, "", 0, 0),
    (41, 42, 2, 10, "", 0, 0),
    (42, 43, 12, 10, "", 0, 0),
    (43, 44, 2, 10, "", 0, 0),
    (44, 45, 12, 10, "", 0, 0),
    (45, 46, 2, 10, "", 0, 0),
    (46, 47, 16, 10, "", 0, 0),
    (47, 4, 7, 10, "", 0, 0),
    (48, 49, 7, 10, "", 0, 0),
    (49, 50, 16, 10, "", 0, 0),
    (50, 51, 2, 10, "", 0, 0),
    (51, 52, 12, 10, "", 0, 0),
    (52, 53, 2, 10, "", 0, 0),
    (53, 54, 12, 10, "", 0, 0),
    (54, 55, 2, 10, "", 0, 0),
    (55, 56, 12, 10, "", 0, 0),
    (56, 57, 2, 10, "", 0, 0),
    (57, 58, 16, 10, "", 0, 0),
    (58, 59, 7, 10, "", 0, 0),
    (59, 60, 7, 10, "", 0, 0),
    (60, 61, 16, 10, "", 0, 0),
    (61, 62, 2, 10, "", 0, 0),
    (62, 63, 12, 10, "", 0, 0),
    (63, 64, 2, 10, "", 0, 0),
    (64, 65, 12, 10, "", 0, 0),
    (65, 66, 2, 10, "", 0, 0),
    (66, 67, 12, 10, "", 0, 0),
    (67, 68, 2, 10, "", 0, 0),
    (68, 69, 16, 10, "", 0, 0),
    (69, 70, 7, 10, "", 0, 0),
    (70, 71, 7, 10, "", 0, 0),
    (71, 72, 16, 10, "", 0, 0),
    (72, 73, 2, 10, "", 0, 0),
    (73, 74, 12, 10, "", 0, 0),
    (74, 75, 2, 10, "", 0, 0),
    (75, 76, 12, 10, "", 0, 0),
    (76, 77, 2, 10, "", 0, 0),
    (77, 78, 12, 10, "", 0, 0),
    (78, 79, 2, 10, "", 0, 0),
    (79, 80, 16, 10, "", 0, 0),
    (80, 81, 7, 10, "", 0, 0),
    (81, 82, 7, 10, "", 0, 0),
    (82, 83, 16, 10, "", 0, 0),
    (83, 84, 2, 10, "", 0, 0),
    (84, 85, 12, 10, "", 0, 0),
    (85, 86, 2, 10, "", 0, 0),
    (86, 87, 12, 10, "", 0, 0),
    (87, 88, 2, 10, "", 0, 0),
    (88, 89, 12, 10, "", 0, 0),
    (89, 90, 2, 10, "", 0, 0),
    (90, 91, 16, 10, "", 0, 0),
    (91, 48, 7, 10, "", 0, 0),
    (92, 93, 7, 10, "", 0, 0),
    (93, 94, 7, 10, "", 0, 0),
    (95, 96, 2, 10, "", 0, 0),
    (96, 97, 12, 10, "", 0, 0),
    (98, 99, 12, 10, "", 0, 0),
    (99, 100, 2, 10, "", 0, 0),
    (101, 102, 7, 10, "", 0, 0),
    (102, 103, 7, 10, "", 0, 0),
    (104, 105, 2, 10, "", 0, 0),
    (105, 106, 12, 10, "", 0, 0),
    (107, 108, 12, 10, "", 0, 0),
    (108, 109, 2, 10, "", 0, 0),
    (110, 111, 7, 10, "", 0, 0),
    (111, 112, 7, 10, "", 0, 0),
    (113, 114, 2, 10, "", 0, 0),
    (114, 115, 12, 10, "", 0, 0),
    (116, 117, 12, 10, "", 0, 0),
    (117, 118, 2, 10, "", 0, 0),
    (119, 120, 7, 10, "", 0, 0),
    (120, 121, 7, 10, "", 0, 0),
    (122, 123, 2, 10, "", 0, 0),
    (123, 124, 12, 10, "", 0, 0),
    (125, 126, 12, 10, "", 0, 0),
    (126, 127, 2, 10, "", 0, 0),
    (128, 129, 7, 10, "", 0, 2),
    (129, 130, 16, 10, "", 0, 2),
    (130, 131, 2, 10, "", 0, 2),
    (131, 132, 12, 10, "", 0, 2),
    (132, 133, 2, 10, "", 0, 2),
    (133, 134, 12, 10, "", 0, 2),
    (134, 135, 2, 10, "", 0, 2),
    (135, 136, 12, 10, "", 0, 2),
    (136, 137, 2, 10, "", 0, 2),
    (137, 138, 16, 10, "", 0, 2),
    (138, 139, 7, 10, "", 0, 2),
    (139, 140, 7, 10, "", 0, 2),
    (140, 141, 16, 10, "", 0, 2),
    (141, 142, 2, 10, "", 0, 2),
    (142, 143, 12, 10, "", 0, 2),
    (143, 144, 2, 10, "", 0, 2),
    (144, 145, 12, 10, "", 0, 2),
    (145, 146, 2, 10, "", 0, 2),
    (146, 147, 12, 10, "", 0, 2),
    (147, 148, 2, 10, "", 0, 2),
    (148, 149, 16, 10, "", 0, 2),
    (149, 150, 7, 10, "", 0, 2),
    (150, 151, 7, 10, "", 0, 2),
    (151, 152, 16, 10, "", 0, 2),
    (152, 153, 2, 10, "", 0, 2),
    (153, 154, 12, 10, "", 0, 2),
    (154, 155, 2, 10, "", 0, 2),
    (155, 156, 12, 10, "", 0, 2),
    (156, 157, 2, 10, "", 0, 2),
    (157, 158, 12, 10, "", 0, 2),
    (158, 159, 2, 10, "", 0, 2),
    (159, 160, 16, 10, "", 0, 2),
    (160, 161, 7, 10, "", 0, 2),
    (161, 162, 7, 10, "", 0, 2),
    (162, 163, 16, 10, "", 0, 2),
    (163, 164, 2, 10, "", 0, 2),
    (164, 165, 12, 10, "", 0, 2),
    (165, 166, 2, 10, "", 0, 2),
    (166, 167, 12, 10, "", 0, 2),
    (167, 168, 2, 10, "", 0, 2),
    (168, 169, 12, 10, "", 0, 2),
    (169, 170, 2, 10, "", 0, 2),
    (170, 171, 16, 10, "", 0, 2),
    (171, 128, 7, 10, "", 0, 2),
    (172, 173, 7, 10, "", 0, 2),
    (173, 174, 16, 10, "", 0, 2),
    (174, 175, 2, 10, "", 0, 2),
    (175, 176, 12, 10, "", 0, 2),
    (176, 177, 2, 10, "", 0, 2),
    (177, 178, 12, 10, "", 0, 2),
    (178, 179, 2, 10, "", 0, 2),
    (179, 180, 12, 10, "", 0, 2),
    (180, 181, 2, 10, "", 0, 2),
    (181, 182, 16, 10, "", 0, 2),
    (182, 183, 7, 10, "", 0, 2),
    (183, 184, 7, 10, "", 0, 2),
    (184, 185, 16, 10, "", 0, 2),
    (185, 186, 2, 10, "", 0, 2),
    (186, 187, 12, 10, "", 0, 2),
    (187, 188, 2, 10, "", 0, 2),
    (188, 189, 12, 10, "", 0, 2),
    (189, 190, 2, 10, "", 0, 2),
    (190, 191, 12, 10, "", 0, 2),
    (191, 192, 2, 10, "", 0, 2),
    (192, 193, 16, 10, "", 0, 2),
    (193, 194, 7, 10, "", 0, 2),
    (194, 195, 7, 10, "", 0, 2),
    (195, 196, 16, 10, "", 0, 2),
    (196, 197, 2, 10, "", 0, 2),
    (197, 198, 12, 10, "", 0, 2),
    (198, 199, 2, 10, "", 0, 2),
    (199, 200, 12, 10, "", 0, 2),
    (200, 201, 2, 10, "", 0, 2),
    (201, 202, 12, 10, "", 0, 2),
    (202, 203, 2, 10, "", 0, 2),
    (203, 204, 16, 10, "", 0, 2),
    (204, 205, 7, 10, "", 0, 2),
    (205, 206, 7, 10, "", 0, 2),
    (206, 207, 16, 10, "", 0, 2),
    (207, 208, 2, 10, "", 0, 2),
    (208, 209, 12, 10, "", 0, 2),
    (209, 210, 2, 10, "", 0, 2),
    (210, 211, 12, 10, "", 0, 2),
    (211, 212, 2, 10, "", 0, 2),
    (212, 213, 12, 10, "", 0, 2),
    (213, 214, 2, 10, "", 0, 2),
    (214, 215, 16, 10, "", 0, 2),
    (215, 172, 7, 10, "", 0, 2),
    (216, 217, 2, 10, "", 0, 2),
    (217, 218, 16, 10, "", 0, 2),
    (218, 219, 7, 10, "", 0, 2),
    (219, 220, 7, 10, "", 0, 2),
    (220, 221, 16, 10, "", 0, 2),
    (221, 222, 2, 10, "", 0, 2),
    (223, 224, 12, 10, "", 0, 2),
    (225, 226, 12, 10, "", 0, 2),
    (227, 228, 2, 10, "", 0, 2),
    (228, 229, 16, 10, "", 0, 2),
    (229, 230, 7, 10, "", 0, 2),
    (230, 231, 7, 10, "", 0, 2),
    (231, 232, 16, 10, "", 0, 2),
    (232, 233, 2, 10, "", 0, 2),
    (234, 235, 12, 10, "", 0, 2),
    (236, 237, 12, 10, "", 0, 2),
    (238, 239, 2, 10, "", 0, 2),
    (239, 240, 16, 10, "", 0, 2),
    (240, 241, 7, 10, "", 0, 2),
    (241, 242, 7, 10, "", 0, 2),
    (242, 243, 16, 10, "", 0, 2),
    (243, 244, 2, 10, "", 0, 2),
    (245, 246, 12, 10, "", 0, 2),
    (247, 248, 12, 10, "", 0, 2),
    (249, 250, 2, 10, "", 0, 2),
    (250, 251, 16, 10, "", 0, 2),
    (251, 252, 7, 10, "", 0, 2),
    (252, 253, 7, 10, "", 0, 2),
    (253, 254, 16, 10, "", 0, 2),
    (254, 255, 2, 10, "", 0, 2),
    (256, 257, 12, 10, "", 0, 2),
    (258, 259, 12, 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),
    (26, 0, "Линейная сталь", 0, "", 0, 2, 1),
    (46, 0, "Линейная сталь", 0, "", 0, 2, 1),
    (31.81980515339464, 31.819805153394636, "Обмоточная область", 0, "Обмотка возбуждения", 0, 2, 150),
    (2.8165946137914677e-15, 46, "Линейная сталь", 0, "", 0, 2, 1),
    (-31.819805153394636, 31.81980515339464, "Обмоточная область", 0, "Обмотка возбуждения", 0, 2, -150),
    (-46, 5.6331892275829354e-15, "Линейная сталь", 0, "", 0, 2, 1),
    (-31.819805153394647, -31.819805153394636, "Обмоточная область", 0, "Обмотка возбуждения", 0, 2, 150),
    (-8.4497838413744031e-15, -46, "Линейная сталь", 0, "", 0, 2, 1),
    (31.819805153394629, -31.819805153394647, "Обмоточная область", 0, "Обмотка возбуждения", 0, 2, -150),
    (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.57. Синхронная машина с явнополюсным ротором. Шаг 8: Назначения материалов и обмоток. Открыть в полном размере

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

Этап 9 из 11

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

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

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

Таблица 24.59. Локальные ограничения сетки по областям
№ меткиМатериалРазмер элемента, ммРежим
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Линейная сталь2заданный
16Обмоточная область1заданный
17Линейная сталь2заданный
18Обмоточная область1заданный
19Линейная сталь2заданный
20Обмоточная область1заданный
21Линейная сталь2заданный
22Обмоточная область1заданный
23Воздух2заданный
24Воздух0,35заданный

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

Таблица 24.60. Ограничения сетки отрезков
№ отрезкаМаксимальная длина, ммРежим
0-1автоматический
1-1автоматический
2-1автоматический
3-1автоматический
4-1автоматический
5-1автоматический
6-1автоматический
7-1автоматический
8-1автоматический
9-1автоматический
10-1автоматический
11-1автоматический
12-1автоматический
13-1автоматический
14-1автоматический
15-1автоматический
16-1автоматический
17-1автоматический
18-1автоматический
19-1автоматический
20-1автоматический
21-1автоматический
22-1автоматический
23-1автоматический
24-1автоматический
25-1автоматический
26-1автоматический
27-1автоматический
28-1автоматический
29-1автоматический
30-1автоматический
31-1автоматический
32-1автоматический
33-1автоматический
34-1автоматический
35-1автоматический
36-1автоматический
37-1автоматический
38-1автоматический
39-1автоматический
40-1автоматический
41-1автоматический
42-1автоматический
43-1автоматический
Таблица 24.61. Ограничения сетки дуг
№ дугиМаксимальный угол элемента, {}^\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
1604
1614
1624
1634
1644
1654
1664
1674
1684
1694
1704
1714
1724
1734
1744
1754
1764
1774
1784
1794
1804
1814
1824
1834
1844
1854
1864
1874
1884
1894
1904
1914
1924
1934
1944
1954
1964
1974
1984
1994
2004
2014
2024
2034
2044
2054
2064
2074
2084
2094
2104
2114
2124
2134
2144
2154
2164
2174
2184
2194
2204
2214
2224
2234
2244
2254
2264
2274
2284
2294
2304
2314

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

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

Посмотреть программу этапа с русскими комментариями
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),
    (54.378467222198999, 25.357095704441967, 0),
    (47.918130602837572, 36.108901389122899, 0),
    (46.628757687418258, 37.759223462990242, 0),
    (37.759223462990249, 46.628757687418258, 0),
    (36.108901389122906, 47.918130602837572, 0),
    (25.357095704441967, 54.378467222198999, 0),
    (23.443867709356422, 55.230291207146422, 0),
    (7.3121606043088496, 59.552769098479317, 0),
    (3.6738190614671318e-15, 60, 0),
    (-7.3121606043088416, 59.552769098479324, 0),
    (-23.443867709356425, 55.230291207146415, 0),
    (-25.35709570444196, 54.378467222199006, 0),
    (-36.108901389122906, 47.918130602837564, 0),
    (-37.759223462990235, 46.628757687418258, 0),
    (-46.628757687418258, 37.759223462990242, 0),
    (-47.918130602837579, 36.108901389122892, 0),
    (-54.378467222198999, 25.357095704441971, 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),
    (-54.378467222199006, -25.357095704441956, 0),
    (-47.918130602837572, -36.108901389122906, 0),
    (-46.628757687418251, -37.759223462990256, 0),
    (-37.759223462990271, -46.628757687418236, 0),
    (-36.108901389122899, -47.918130602837572, 0),
    (-25.357095704441949, -54.378467222199006, 0),
    (-23.443867709356429, -55.230291207146415, 0),
    (-7.3121606043088301, -59.552769098479324, 0),
    (-1.1021457184401395e-14, -60, 0),
    (7.3121606043088612, -59.552769098479317, 0),
    (23.443867709356411, -55.230291207146429, 0),
    (25.357095704441978, -54.378467222198999, 0),
    (36.108901389122877, -47.918130602837586, 0),
    (37.759223462990249, -46.628757687418251, 0),
    (46.628757687418236, -37.759223462990271, 0),
    (47.918130602837572, -36.108901389122899, 0),
    (54.378467222199006, -25.357095704441953, 0),
    (55.230291207146415, -23.443867709356432, 0),
    (59.552769098479324, -7.3121606043088336, 0),
    (100, 0, 0),
    (99.254615164132204, 12.186934340514748, 0),
    (92.050485345244041, 39.07311284892738, 0),
    (90.630778703664987, 42.261826174069945, 0),
    (79.863551004729288, 60.181502315204824, 0),
    (77.714596145697087, 62.932039104983737, 0),
    (62.932039104983751, 77.714596145697087, 0),
    (60.181502315204838, 79.863551004729288, 0),
    (42.261826174069945, 90.630778703664987, 0),
    (39.073112848927373, 92.050485345244041, 0),
    (12.18693434051475, 99.254615164132204, 0),
    (6.1230317691118863e-15, 100, 0),
    (-12.186934340514737, 99.254615164132204, 0),
    (-39.07311284892738, 92.050485345244027, 0),
    (-42.261826174069931, 90.630778703665001, 0),
    (-60.181502315204838, 79.863551004729274, 0),
    (-62.93203910498373, 77.714596145697101, 0),
    (-77.714596145697087, 62.932039104983737, 0),
    (-79.863551004729288, 60.181502315204817, 0),
    (-90.630778703664987, 42.261826174069952, 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),
    (-90.630778703665001, -42.261826174069924, 0),
    (-79.863551004729288, -60.181502315204838, 0),
    (-77.714596145697072, -62.932039104983758, 0),
    (-62.932039104983787, -77.714596145697058, 0),
    (-60.181502315204824, -79.863551004729288, 0),
    (-42.261826174069917, -90.630778703665001, 0),
    (-39.07311284892738, -92.050485345244027, 0),
    (-12.186934340514718, -99.254615164132204, 0),
    (-1.8369095307335659e-14, -100, 0),
    (12.186934340514769, -99.254615164132204, 0),
    (39.073112848927352, -92.050485345244056, 0),
    (42.261826174069959, -90.630778703664987, 0),
    (60.181502315204796, -79.863551004729302, 0),
    (62.932039104983751, -77.714596145697072, 0),
    (77.714596145697058, -62.932039104983787, 0),
    (79.863551004729288, -60.181502315204824, 0),
    (90.630778703665001, -42.261826174069924, 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),
    (77.036161898115239, 35.922552247959452, 0),
    (67.884018354019886, 51.154276967924105, 0),
    (51.154276967924112, 67.884018354019886, 0),
    (35.922552247959452, 77.036161898115239, 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),
    (-35.922552247959445, 77.036161898115253, 0),
    (-51.154276967924112, 67.884018354019886, 0),
    (-67.884018354019901, 51.154276967924091, 0),
    (-77.036161898115239, 35.922552247959459, 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),
    (-77.036161898115253, -35.922552247959437, 0),
    (-67.884018354019886, -51.154276967924112, 0),
    (-51.154276967924105, -67.884018354019886, 0),
    (-35.92255224795943, -77.036161898115253, 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),
    (35.922552247959466, -77.036161898115239, 0),
    (51.154276967924076, -67.884018354019915, 0),
    (67.884018354019886, -51.154276967924105, 0),
    (77.036161898115253, -35.92255224795943, 0),
    (78.242912543457422, -33.212145921588281, 0),
    (18, 0, 2),
    (17.865830729543795, 2.1936481812926547, 2),
    (16.569087362143925, 7.0331603128069275, 2),
    (16.313540166659699, 7.6071287113325896, 2),
    (14.37543918085127, 10.832670416736869, 2),
    (13.988627306225476, 11.327767038897074, 2),
    (11.327767038897075, 13.988627306225476, 2),
    (10.832670416736871, 14.37543918085127, 2),
    (7.6071287113325896, 16.313540166659699, 2),
    (7.0331603128069267, 16.569087362143925, 2),
    (2.1936481812926547, 17.865830729543795, 2),
    (1.1021457184401395e-15, 18, 2),
    (-2.1936481812926525, 17.865830729543799, 2),
    (-7.0331603128069275, 16.569087362143925, 2),
    (-7.6071287113325878, 16.313540166659699, 2),
    (-10.832670416736871, 14.375439180851268, 2),
    (-11.327767038897072, 13.988627306225478, 2),
    (-13.988627306225476, 11.327767038897074, 2),
    (-14.375439180851274, 10.832670416736867, 2),
    (-16.313540166659699, 7.6071287113325905, 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),
    (-16.313540166659699, -7.6071287113325869, 2),
    (-14.37543918085127, -10.832670416736871, 2),
    (-13.988627306225474, -11.327767038897077, 2),
    (-11.327767038897081, -13.988627306225471, 2),
    (-10.832670416736869, -14.37543918085127, 2),
    (-7.6071287113325852, -16.313540166659699, 2),
    (-7.0331603128069293, -16.569087362143925, 2),
    (-2.1936481812926489, -17.865830729543799, 2),
    (-3.3064371553204186e-15, -18, 2),
    (2.1936481812926583, -17.865830729543795, 2),
    (7.0331603128069231, -16.569087362143929, 2),
    (7.6071287113325932, -16.313540166659699, 2),
    (10.832670416736862, -14.375439180851275, 2),
    (11.327767038897075, -13.988627306225474, 2),
    (13.988627306225471, -11.327767038897081, 2),
    (14.37543918085127, -10.832670416736869, 2),
    (16.313540166659699, -7.6071287113325861, 2),
    (16.569087362143925, -7.0331603128069302, 2),
    (17.865830729543799, -2.1936481812926503, 2),
    (35, 0, 2),
    (34.739115307446269, 4.2654270191801613, 2),
    (32.217669870835415, 13.675589497124582, 2),
    (31.720772546282749, 14.791639160924481, 2),
    (27.952242851655249, 21.063525810321689, 2),
    (27.200108650993982, 22.02621368674431, 2),
    (22.026213686744313, 27.200108650993982, 2),
    (21.063525810321693, 27.952242851655249, 2),
    (14.791639160924481, 31.720772546282749, 2),
    (13.67558949712458, 32.217669870835415, 2),
    (4.2654270191801622, 34.739115307446269, 2),
    (2.1430611191891602e-15, 35, 2),
    (-4.2654270191801578, 34.739115307446276, 2),
    (-13.675589497124582, 32.217669870835408, 2),
    (-14.791639160924477, 31.720772546282753, 2),
    (-21.063525810321693, 27.952242851655246, 2),
    (-22.026213686744306, 27.200108650993986, 2),
    (-27.200108650993982, 22.02621368674431, 2),
    (-27.952242851655253, 21.063525810321686, 2),
    (-31.720772546282749, 14.791639160924483, 2),
    (-32.217669870835415, 13.675589497124582, 2),
    (-34.739115307446269, 4.265427019180164, 2),
    (-35, 4.2861222383783204e-15, 2),
    (-34.739115307446276, -4.265427019180156, 2),
    (-32.217669870835415, -13.675589497124575, 2),
    (-31.720772546282753, -14.791639160924476, 2),
    (-27.952242851655249, -21.063525810321693, 2),
    (-27.200108650993979, -22.026213686744317, 2),
    (-22.026213686744324, -27.200108650993968, 2),
    (-21.063525810321689, -27.952242851655249, 2),
    (-14.79163916092447, -31.720772546282753, 2),
    (-13.675589497124584, -32.217669870835408, 2),
    (-4.2654270191801507, -34.739115307446276, 2),
    (-6.4291833575674806e-15, -35, 2),
    (4.2654270191801693, -34.739115307446269, 2),
    (13.675589497124573, -32.217669870835415, 2),
    (14.791639160924486, -31.720772546282749, 2),
    (21.063525810321678, -27.952242851655257, 2),
    (22.026213686744313, -27.200108650993979, 2),
    (27.200108650993968, -22.026213686744324, 2),
    (27.952242851655249, -21.063525810321689, 2),
    (31.720772546282753, -14.791639160924472, 2),
    (32.217669870835408, -13.675589497124585, 2),
    (34.739115307446276, -4.2654270191801533, 2),
    (52.565851648125701, -24.511859180960556, 2),
    (53.389281500241538, -22.662405452377886, 2),
    (57.567676795196682, -7.0684219174985392, 2),
    (58, -1.4205433704339576e-14, 2),
    (57.567676795196675, 7.0684219174985623, 2),
    (53.389281500241552, 22.662405452377861, 2),
    (52.565851648125694, 24.511859180960574, 2),
    (28.754400573907922, 23.284854468843985, 2),
    (23.284854468843989, 28.754400573907922, 2),
    (41.188735957219457, 33.353980725641385, 2),
    (33.353980725641385, 41.188735957219457, 2),
    (24.511859180960567, 52.565851648125694, 2),
    (22.662405452377875, 53.389281500241545, 2),
    (7.0684219174985543, 57.567676795196675, 2),
    (3.551358426084894e-15, 58, 2),
    (-7.0684219174985472, 57.567676795196682, 2),
    (-22.662405452377879, 53.389281500241538, 2),
    (-24.51185918096056, 52.565851648125701, 2),
    (-23.284854468843978, 28.754400573907926, 2),
    (-28.754400573907922, 23.284854468843985, 2),
    (-33.353980725641378, 41.188735957219464, 2),
    (-41.188735957219457, 33.353980725641385, 2),
    (-52.565851648125694, 24.51185918096057, 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),
    (-52.565851648125701, -24.511859180960556, 2),
    (-28.754400573907919, -23.284854468843992, 2),
    (-23.284854468843999, -28.754400573907912, 2),
    (-41.18873595721945, -33.353980725641392, 2),
    (-33.353980725641406, -41.188735957219443, 2),
    (-24.511859180960553, -52.565851648125701, 2),
    (-22.662405452377882, -53.389281500241538, 2),
    (-7.0684219174985357, -57.567676795196682, 2),
    (-1.0654075278254682e-14, -58, 2),
    (7.0684219174985659, -57.567676795196675, 2),
    (22.662405452377861, -53.389281500241552, 2),
    (24.511859180960577, -52.565851648125694, 2),
    (23.284854468843989, -28.754400573907919, 2),
    (28.754400573907912, -23.284854468843999, 2),
    (33.353980725641385, -41.18873595721945, 2),
    (41.188735957219443, -33.353980725641406, 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),
    (47, 92, -1, "", 0, 0),
    (5, 94, -1, "", 0, 0),
    (6, 95, -1, "", 0, 0),
    (8, 97, -1, "", 0, 0),
    (11, 98, -1, "", 0, 0),
    (13, 100, -1, "", 0, 0),
    (14, 101, -1, "", 0, 0),
    (16, 103, -1, "", 0, 0),
    (17, 104, -1, "", 0, 0),
    (19, 106, -1, "", 0, 0),
    (22, 107, -1, "", 0, 0),
    (24, 109, -1, "", 0, 0),
    (25, 110, -1, "", 0, 0),
    (27, 112, -1, "", 0, 0),
    (28, 113, -1, "", 0, 0),
    (30, 115, -1, "", 0, 0),
    (33, 116, -1, "", 0, 0),
    (35, 118, -1, "", 0, 0),
    (36, 119, -1, "", 0, 0),
    (38, 121, -1, "", 0, 0),
    (39, 122, -1, "", 0, 0),
    (41, 124, -1, "", 0, 0),
    (44, 125, -1, "", 0, 0),
    (46, 127, -1, "", 0, 0),
    (213, 216, -1, "", 0, 2),
    (175, 222, -1, "", 0, 2),
    (223, 225, -1, "", 0, 2),
    (224, 226, -1, "", 0, 2),
    (180, 227, -1, "", 0, 2),
    (186, 233, -1, "", 0, 2),
    (234, 236, -1, "", 0, 2),
    (235, 237, -1, "", 0, 2),
    (191, 238, -1, "", 0, 2),
    (197, 244, -1, "", 0, 2),
    (245, 247, -1, "", 0, 2),
    (246, 248, -1, "", 0, 2),
    (202, 249, -1, "", 0, 2),
    (208, 255, -1, "", 0, 2),
    (256, 258, -1, "", 0, 2),
    (257, 259, -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, 2, 4, "", 0, 0),
    (7, 8, 12, 4, "", 0, 0),
    (8, 9, 2, 4, "", 0, 0),
    (9, 10, 12, 4, "", 0, 0),
    (10, 11, 2, 4, "", 0, 0),
    (11, 12, 12, 4, "", 0, 0),
    (12, 13, 2, 4, "", 0, 0),
    (13, 14, 16, 4, "", 0, 0),
    (14, 15, 7, 4, "", 0, 0),
    (15, 16, 7, 4, "", 0, 0),
    (16, 17, 16, 4, "", 0, 0),
    (17, 18, 2, 4, "", 0, 0),
    (18, 19, 12, 4, "", 0, 0),
    (19, 20, 2, 4, "", 0, 0),
    (20, 21, 12, 4, "", 0, 0),
    (21, 22, 2, 4, "", 0, 0),
    (22, 23, 12, 4, "", 0, 0),
    (23, 24, 2, 4, "", 0, 0),
    (24, 25, 16, 4, "", 0, 0),
    (25, 26, 7, 4, "", 0, 0),
    (26, 27, 7, 4, "", 0, 0),
    (27, 28, 16, 4, "", 0, 0),
    (28, 29, 2, 4, "", 0, 0),
    (29, 30, 12, 4, "", 0, 0),
    (30, 31, 2, 4, "", 0, 0),
    (31, 32, 12, 4, "", 0, 0),
    (32, 33, 2, 4, "", 0, 0),
    (33, 34, 12, 4, "", 0, 0),
    (34, 35, 2, 4, "", 0, 0),
    (35, 36, 16, 4, "", 0, 0),
    (36, 37, 7, 4, "", 0, 0),
    (37, 38, 7, 4, "", 0, 0),
    (38, 39, 16, 4, "", 0, 0),
    (39, 40, 2, 4, "", 0, 0),
    (40, 41, 12, 4, "", 0, 0),
    (41, 42, 2, 4, "", 0, 0),
    (42, 43, 12, 4, "", 0, 0),
    (43, 44, 2, 4, "", 0, 0),
    (44, 45, 12, 4, "", 0, 0),
    (45, 46, 2, 4, "", 0, 0),
    (46, 47, 16, 4, "", 0, 0),
    (47, 4, 7, 4, "", 0, 0),
    (48, 49, 7, 4, "", 0, 0),
    (49, 50, 16, 4, "", 0, 0),
    (50, 51, 2, 4, "", 0, 0),
    (51, 52, 12, 4, "", 0, 0),
    (52, 53, 2, 4, "", 0, 0),
    (53, 54, 12, 4, "", 0, 0),
    (54, 55, 2, 4, "", 0, 0),
    (55, 56, 12, 4, "", 0, 0),
    (56, 57, 2, 4, "", 0, 0),
    (57, 58, 16, 4, "", 0, 0),
    (58, 59, 7, 4, "", 0, 0),
    (59, 60, 7, 4, "", 0, 0),
    (60, 61, 16, 4, "", 0, 0),
    (61, 62, 2, 4, "", 0, 0),
    (62, 63, 12, 4, "", 0, 0),
    (63, 64, 2, 4, "", 0, 0),
    (64, 65, 12, 4, "", 0, 0),
    (65, 66, 2, 4, "", 0, 0),
    (66, 67, 12, 4, "", 0, 0),
    (67, 68, 2, 4, "", 0, 0),
    (68, 69, 16, 4, "", 0, 0),
    (69, 70, 7, 4, "", 0, 0),
    (70, 71, 7, 4, "", 0, 0),
    (71, 72, 16, 4, "", 0, 0),
    (72, 73, 2, 4, "", 0, 0),
    (73, 74, 12, 4, "", 0, 0),
    (74, 75, 2, 4, "", 0, 0),
    (75, 76, 12, 4, "", 0, 0),
    (76, 77, 2, 4, "", 0, 0),
    (77, 78, 12, 4, "", 0, 0),
    (78, 79, 2, 4, "", 0, 0),
    (79, 80, 16, 4, "", 0, 0),
    (80, 81, 7, 4, "", 0, 0),
    (81, 82, 7, 4, "", 0, 0),
    (82, 83, 16, 4, "", 0, 0),
    (83, 84, 2, 4, "", 0, 0),
    (84, 85, 12, 4, "", 0, 0),
    (85, 86, 2, 4, "", 0, 0),
    (86, 87, 12, 4, "", 0, 0),
    (87, 88, 2, 4, "", 0, 0),
    (88, 89, 12, 4, "", 0, 0),
    (89, 90, 2, 4, "", 0, 0),
    (90, 91, 16, 4, "", 0, 0),
    (91, 48, 7, 4, "", 0, 0),
    (92, 93, 7, 4, "", 0, 0),
    (93, 94, 7, 4, "", 0, 0),
    (95, 96, 2, 4, "", 0, 0),
    (96, 97, 12, 4, "", 0, 0),
    (98, 99, 12, 4, "", 0, 0),
    (99, 100, 2, 4, "", 0, 0),
    (101, 102, 7, 4, "", 0, 0),
    (102, 103, 7, 4, "", 0, 0),
    (104, 105, 2, 4, "", 0, 0),
    (105, 106, 12, 4, "", 0, 0),
    (107, 108, 12, 4, "", 0, 0),
    (108, 109, 2, 4, "", 0, 0),
    (110, 111, 7, 4, "", 0, 0),
    (111, 112, 7, 4, "", 0, 0),
    (113, 114, 2, 4, "", 0, 0),
    (114, 115, 12, 4, "", 0, 0),
    (116, 117, 12, 4, "", 0, 0),
    (117, 118, 2, 4, "", 0, 0),
    (119, 120, 7, 4, "", 0, 0),
    (120, 121, 7, 4, "", 0, 0),
    (122, 123, 2, 4, "", 0, 0),
    (123, 124, 12, 4, "", 0, 0),
    (125, 126, 12, 4, "", 0, 0),
    (126, 127, 2, 4, "", 0, 0),
    (128, 129, 7, 4, "", 0, 2),
    (129, 130, 16, 4, "", 0, 2),
    (130, 131, 2, 4, "", 0, 2),
    (131, 132, 12, 4, "", 0, 2),
    (132, 133, 2, 4, "", 0, 2),
    (133, 134, 12, 4, "", 0, 2),
    (134, 135, 2, 4, "", 0, 2),
    (135, 136, 12, 4, "", 0, 2),
    (136, 137, 2, 4, "", 0, 2),
    (137, 138, 16, 4, "", 0, 2),
    (138, 139, 7, 4, "", 0, 2),
    (139, 140, 7, 4, "", 0, 2),
    (140, 141, 16, 4, "", 0, 2),
    (141, 142, 2, 4, "", 0, 2),
    (142, 143, 12, 4, "", 0, 2),
    (143, 144, 2, 4, "", 0, 2),
    (144, 145, 12, 4, "", 0, 2),
    (145, 146, 2, 4, "", 0, 2),
    (146, 147, 12, 4, "", 0, 2),
    (147, 148, 2, 4, "", 0, 2),
    (148, 149, 16, 4, "", 0, 2),
    (149, 150, 7, 4, "", 0, 2),
    (150, 151, 7, 4, "", 0, 2),
    (151, 152, 16, 4, "", 0, 2),
    (152, 153, 2, 4, "", 0, 2),
    (153, 154, 12, 4, "", 0, 2),
    (154, 155, 2, 4, "", 0, 2),
    (155, 156, 12, 4, "", 0, 2),
    (156, 157, 2, 4, "", 0, 2),
    (157, 158, 12, 4, "", 0, 2),
    (158, 159, 2, 4, "", 0, 2),
    (159, 160, 16, 4, "", 0, 2),
    (160, 161, 7, 4, "", 0, 2),
    (161, 162, 7, 4, "", 0, 2),
    (162, 163, 16, 4, "", 0, 2),
    (163, 164, 2, 4, "", 0, 2),
    (164, 165, 12, 4, "", 0, 2),
    (165, 166, 2, 4, "", 0, 2),
    (166, 167, 12, 4, "", 0, 2),
    (167, 168, 2, 4, "", 0, 2),
    (168, 169, 12, 4, "", 0, 2),
    (169, 170, 2, 4, "", 0, 2),
    (170, 171, 16, 4, "", 0, 2),
    (171, 128, 7, 4, "", 0, 2),
    (172, 173, 7, 4, "", 0, 2),
    (173, 174, 16, 4, "", 0, 2),
    (174, 175, 2, 4, "", 0, 2),
    (175, 176, 12, 4, "", 0, 2),
    (176, 177, 2, 4, "", 0, 2),
    (177, 178, 12, 4, "", 0, 2),
    (178, 179, 2, 4, "", 0, 2),
    (179, 180, 12, 4, "", 0, 2),
    (180, 181, 2, 4, "", 0, 2),
    (181, 182, 16, 4, "", 0, 2),
    (182, 183, 7, 4, "", 0, 2),
    (183, 184, 7, 4, "", 0, 2),
    (184, 185, 16, 4, "", 0, 2),
    (185, 186, 2, 4, "", 0, 2),
    (186, 187, 12, 4, "", 0, 2),
    (187, 188, 2, 4, "", 0, 2),
    (188, 189, 12, 4, "", 0, 2),
    (189, 190, 2, 4, "", 0, 2),
    (190, 191, 12, 4, "", 0, 2),
    (191, 192, 2, 4, "", 0, 2),
    (192, 193, 16, 4, "", 0, 2),
    (193, 194, 7, 4, "", 0, 2),
    (194, 195, 7, 4, "", 0, 2),
    (195, 196, 16, 4, "", 0, 2),
    (196, 197, 2, 4, "", 0, 2),
    (197, 198, 12, 4, "", 0, 2),
    (198, 199, 2, 4, "", 0, 2),
    (199, 200, 12, 4, "", 0, 2),
    (200, 201, 2, 4, "", 0, 2),
    (201, 202, 12, 4, "", 0, 2),
    (202, 203, 2, 4, "", 0, 2),
    (203, 204, 16, 4, "", 0, 2),
    (204, 205, 7, 4, "", 0, 2),
    (205, 206, 7, 4, "", 0, 2),
    (206, 207, 16, 4, "", 0, 2),
    (207, 208, 2, 4, "", 0, 2),
    (208, 209, 12, 4, "", 0, 2),
    (209, 210, 2, 4, "", 0, 2),
    (210, 211, 12, 4, "", 0, 2),
    (211, 212, 2, 4, "", 0, 2),
    (212, 213, 12, 4, "", 0, 2),
    (213, 214, 2, 4, "", 0, 2),
    (214, 215, 16, 4, "", 0, 2),
    (215, 172, 7, 4, "", 0, 2),
    (216, 217, 2, 4, "", 0, 2),
    (217, 218, 16, 4, "", 0, 2),
    (218, 219, 7, 4, "", 0, 2),
    (219, 220, 7, 4, "", 0, 2),
    (220, 221, 16, 4, "", 0, 2),
    (221, 222, 2, 4, "", 0, 2),
    (223, 224, 12, 4, "", 0, 2),
    (225, 226, 12, 4, "", 0, 2),
    (227, 228, 2, 4, "", 0, 2),
    (228, 229, 16, 4, "", 0, 2),
    (229, 230, 7, 4, "", 0, 2),
    (230, 231, 7, 4, "", 0, 2),
    (231, 232, 16, 4, "", 0, 2),
    (232, 233, 2, 4, "", 0, 2),
    (234, 235, 12, 4, "", 0, 2),
    (236, 237, 12, 4, "", 0, 2),
    (238, 239, 2, 4, "", 0, 2),
    (239, 240, 16, 4, "", 0, 2),
    (240, 241, 7, 4, "", 0, 2),
    (241, 242, 7, 4, "", 0, 2),
    (242, 243, 16, 4, "", 0, 2),
    (243, 244, 2, 4, "", 0, 2),
    (245, 246, 12, 4, "", 0, 2),
    (247, 248, 12, 4, "", 0, 2),
    (249, 250, 2, 4, "", 0, 2),
    (250, 251, 16, 4, "", 0, 2),
    (251, 252, 7, 4, "", 0, 2),
    (252, 253, 7, 4, "", 0, 2),
    (253, 254, 16, 4, "", 0, 2),
    (254, 255, 2, 4, "", 0, 2),
    (256, 257, 12, 4, "", 0, 2),
    (258, 259, 12, 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),
    (26, 0, "Линейная сталь", 2, "", 0, 2, 1),
    (46, 0, "Линейная сталь", 2, "", 0, 2, 1),
    (31.81980515339464, 31.819805153394636, "Обмоточная область", 1, "Обмотка возбуждения", 0, 2, 150),
    (2.8165946137914677e-15, 46, "Линейная сталь", 2, "", 0, 2, 1),
    (-31.819805153394636, 31.81980515339464, "Обмоточная область", 1, "Обмотка возбуждения", 0, 2, -150),
    (-46, 5.6331892275829354e-15, "Линейная сталь", 2, "", 0, 2, 1),
    (-31.819805153394647, -31.819805153394636, "Обмоточная область", 1, "Обмотка возбуждения", 0, 2, 150),
    (-8.4497838413744031e-15, -46, "Линейная сталь", 2, "", 0, 2, 1),
    (31.819805153394629, -31.819805153394647, "Обмоточная область", 1, "Обмотка возбуждения", 0, 2, -150),
    (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.58. Синхронная машина с явнополюсным ротором. Шаг 9: Локальные размеры сетки и готовая модель. Открыть в полном размере

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

Этап 10 из 11

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

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

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

Таблица 24.62. Локальные ограничения сетки по областям
№ меткиМатериалРазмер элемента, ммРежим
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Линейная сталь2заданный
16Обмоточная область1заданный
17Линейная сталь2заданный
18Обмоточная область1заданный
19Линейная сталь2заданный
20Обмоточная область1заданный
21Линейная сталь2заданный
22Обмоточная область1заданный
23Воздух2заданный
24Воздух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.59. Синхронная машина с явнополюсным ротором. Шаг 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.63. Результаты всех цепей
ЦепьТок, АПолевое напряжение, ВПотокосцепление, Вб
Фаза А100,004146
Обмотка возбуждения200,1368
Фаза С-20-0,03512
Фаза В100,03349
Таблица 24.64. Объёмные интегралы
ВеличинаЗначение
Энергия, Дж0,1908
Коэнергия, Дж0,1908
Момент, Н·м-0,04857

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

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

Посмотреть программу этапа с русскими комментариями
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.60. Синхронная машина с явнополюсным ротором. Шаг 11: Поле и численные результаты. Открыть в полном размере