FEMM 5

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

Машина постоянного тока

Статическое сечение с обмотками якоря и возбуждения; пазы доходят до поверхности ротора.

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

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

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

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

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

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

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

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

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

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

Момент на выбранной сетке: −0,07309 Н·м. Число элементов: 1 538 638.

Размеры блоков составляют 35% исходных; в зазоре задано 0,105 мм. Максимальная длина разбиения прямых сегментов — 0,125 мм, угловой шаг дуг — 0{,}125^\circ. Точность решателя — 10⁻¹⁰. Исходные размеры, токи якоря и возбуждения сохранены.

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

Сходимость момента при увеличении числа конечных элементов
Рисунок 27.16. Результаты настоящих расчётов FEMM 5. Заштрихованная область показывает разброс трёх контуров; это проверка постобработки одного поля. Нажмите на график, чтобы открыть его в полном размере.
Машина постоянного тока: выбранная сетка воздушного зазора.
Рисунок 27.17. Машина постоянного тока: выбранная сетка воздушного зазора. Открыть в полном размере
Машина постоянного тока: момент ротора на выбранной сетке.
Рисунок 27.18. Машина постоянного тока: момент ротора на выбранной сетке. Открыть в полном размере
Таблица 27.10. Сеточная серия: момент в Н·м, размер в зазоре в мм
СеткаРазмер блока в зазоре, ммЭлементовWST, Н·мПеремена WST
Сетка 10,225342 810-0,07289547—
Сетка 20,15755 124-0,073026540,179%
Сетка 3 · выбрана0,1051 538 638-0,073088850,0853%

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

Таблица 27.11. Сравнение методов на выбранной сетке
МетодМомент, Н·мУсловия проверки
Взвешенный интеграл Максвелла (WST)-0,07309Интеграл 22; все области ротора, группа 2
Контуры без сглаживания-0,07312 … -0,07294Точное интегрирование кусочно-постоянного поля на трёх окружностях
Контуры со сглаживанием-0,07312 … -0,07306Три радиуса; 5760 точек на каждой окружности
Производная коэнергии-0,07321 … -0,07317Шаги: 0,1, 0,25, 0{,}5^\circ
Угловые шаги и производная коэнергии

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

Таблица 27.12. Центральная разность при фиксированных токах
Шаг, град.Производная, Н·мРасхождение с WSTПроверка
0,1-0,073210,165%Принят
0,25-0,073170,108%Принят
0,5-0,073180,119%Принят

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

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

Этап 1 из 11

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

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

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

Этап 2 из 11

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

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

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

Этап 3 из 11

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

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

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

Таблица 27.20. Токи всех цепей
ЦепьДействительная часть тока, АМнимая часть тока, АТип
Обмотка возбуждения20Последовательная (1)
Обмотка якоря30Последовательная (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(2, 0), 1)
mi_addcircprop("Обмотка якоря", complex(3, 0), 1)
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 3. Модель неполная: переходите к следующему этапу, не запускайте решение.")
Машина постоянного тока. Шаг 3: Цепи и токи возбуждения.
Рисунок 27.21. Машина постоянного тока. Шаг 3: Цепи и токи возбуждения. Открыть в полном размере

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

Этап 4 из 11

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

  1. Продолжайте модель предыдущего этапа: уже заданные свойства и геометрию сохраняйте. Скачиваемый файл этого этапа содержит все предыдущие действия вместе с текущими изменениями.
  2. В «Свойства → Граничные условия» (Properties → Boundary) создайте определения из таблиц.
  3. Тип 0 — заданный потенциал (Prescribed A); нулевые A_{0}, A_{1} и A_{2} дают A=0. Тип 5 — антипериодическое условие (Anti-periodic).
  4. На этом этапе условие только определено. Назначайте его конкретным отрезкам и дугам на этапе «Отрезки и дуги» по приведённым там таблицам.
  5. Имена созданных условий должны совпадать с именами в таблицах отрезков и дуг. Не назначайте внешнее граничное условие внутренним контурам, если это не указано в таблице.
Неполный учебный этап; решение не запускать.
Таблица 27.21. Нулевой потенциал
ПараметрЗначение
Тип границы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(2, 0), 1)
mi_addcircprop("Обмотка якоря", complex(3, 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: Граничные условия.
Рисунок 27.22. Машина постоянного тока. Шаг 4: Граничные условия. Открыть в полном размере

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

Этап 5 из 11

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

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

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

Таблица 27.22. Координаты всех узлов
№ узлаx или r, ммy или z, ммГруппа
0-170-1700
1170-1700
21701700
3-1701700
48000
579,568,3620
673,0832,540
769,28400
864,7247,020
957,5555,570
1047,0264,720
1144,7466,320
1232,5473,080
138,36279,560
140800
15-8,36279,560
16-32,5473,080
17-44,7466,320
18-47,0264,720
19-57,5555,570
20-64,7247,020
21-69,28400
22-73,0832,540
23-79,568,3620
24-8000
25-79,56-8,3620
26-73,08-32,540
27-69,28-400
28-64,72-47,020
29-57,55-55,570
30-47,02-64,720
31-44,74-66,320
32-32,54-73,080
33-8,362-79,560
340-800
358,362-79,560
3632,54-73,080
3744,74-66,320
3847,02-64,720
3957,55-55,570
4064,72-47,020
4169,28-400
4273,08-32,540
4379,56-8,3620
4410000
4599,4510,450
4691,3540,670
4786,6500
4880,958,780
4971,9369,470
5058,7880,90
5155,9282,90
5240,6791,350
5310,4599,450
5401000
55-10,4599,450
56-40,6791,350
57-55,9282,90
58-58,7880,90
59-71,9369,470
60-80,958,780
61-86,6500
62-91,3540,670
63-99,4510,450
64-10000
65-99,45-10,450
66-91,35-40,670
67-86,6-500
68-80,9-58,780
69-71,93-69,470
70-58,78-80,90
71-55,92-82,90
72-40,67-91,350
73-10,45-99,450
740-1000
7510,45-99,450
7640,67-91,350
7755,92-82,90
7858,78-80,90
7971,93-69,470
8080,9-58,780
8186,6-500
8291,35-40,670
8399,45-10,450
841802
8517,91,8822
8616,447,3212
8715,5992
8814,5610,582
8912,9512,52
9010,5814,562
9110,0714,922
927,32116,442
931,88217,92
940182
95-1,88217,92
96-7,32116,442
97-10,0714,922
98-10,5814,562
99-12,9512,52
100-14,5610,582
101-15,5992
102-16,447,3212
103-17,91,8822
104-1802
105-17,9-1,8822
106-16,44-7,3212
107-15,59-92
108-14,56-10,582
109-12,95-12,52
110-10,58-14,562
111-10,07-14,922
112-7,321-16,442
113-1,882-17,92
1140-182
1151,882-17,92
1167,321-16,442
11710,07-14,922
11810,58-14,562
11912,95-12,52
12014,56-10,582
12115,59-92
12216,44-7,3212
12317,9-1,8822
1245802
12557,686,0632
12652,9923,592
12750,23292
12846,9234,092
12941,7240,292
13034,0946,922
13132,4348,082
13223,5952,992
1336,06357,682
1340582
135-6,06357,682
136-23,5952,992
137-32,4348,082
138-34,0946,922
139-41,7240,292
140-46,9234,092
141-50,23292
142-52,9923,592
143-57,686,0632
144-5802
145-57,68-6,0632
146-52,99-23,592
147-50,23-292
148-46,92-34,092
149-41,72-40,292
150-34,09-46,922
151-32,43-48,082
152-23,59-52,992
153-6,063-57,682
1540-582
1556,063-57,682
15623,59-52,992
15732,43-48,082
15834,09-46,922
15941,72-40,292
16046,92-34,092
16150,23-292
16252,99-23,592
16357,68-6,0632
16451,96-300
16554,81-24,40
16659,67-6,2720
1676000
16859,676,2720
16954,8124,40
17051,96300
171-51,96300
172-54,8124,40
173-59,676,2720
174-6000
175-59,67-6,2720
176-54,81-24,40
177-51,96-300
17846,7645,150
17938,2152,590
18036,3553,890
18155,3953,490
18245,2662,290
18343,0663,840
184-36,3553,890
185-38,2152,590
186-46,7645,150
187-43,0663,840
188-45,2662,290
189-55,3953,490
190-46,76-45,150
191-38,21-52,590
192-36,35-53,890
193-55,39-53,490
194-45,26-62,290
195-43,06-63,840
19636,35-53,890
19738,21-52,590
19846,76-45,150
19943,06-63,840
20045,26-62,290
20155,39-53,490
20242,76-4,4952
2034302
20442,764,4952
20539,2817,492
20637,2421,52
20734,7925,272
20825,2734,792
20924,0535,652
21017,4939,282
2114,49542,762
2120432
213-4,49542,762
214-17,4939,282
215-24,0535,652
216-25,2734,792
217-34,7925,272
218-37,2421,52
219-39,2817,492
220-42,764,4952
221-4302
222-42,76-4,4952
223-39,28-17,492
224-37,24-21,52
225-34,79-25,272
226-25,27-34,792
227-24,05-35,652
228-17,49-39,282
229-4,495-42,762
2300-432
2314,495-42,762
23217,49-39,282
23324,05-35,652
23425,27-34,792
23534,79-25,272
23637,24-21,52
23739,28-17,492

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

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

Посмотреть программу этапа с русскими комментариями
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(2, 0), 1)
mi_addcircprop("Обмотка якоря", complex(3, 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),
    (80, 0, 0),
    (79.561751629461867, 8.3622770614122786, 0),
    (73.083636611408068, 32.538931446064019, 0),
    (69.282032302755098, 39.999999999999993, 0),
    (64.721359549995796, 47.022820183397855, 0),
    (57.547184027092094, 55.57266963671978, 0),
    (47.022820183397855, 64.721359549995796, 0),
    (44.73543227765974, 66.323005804403337, 0),
    (32.538931446064019, 73.083636611408068, 0),
    (8.3622770614122768, 79.561751629461867, 0),
    (4.898425415289509e-15, 80, 0),
    (-8.3622770614122839, 79.561751629461867, 0),
    (-32.538931446064019, 73.083636611408068, 0),
    (-44.735432277659733, 66.323005804403337, 0),
    (-47.02282018339784, 64.721359549995796, 0),
    (-57.547184027092094, 55.572669636719773, 0),
    (-64.721359549995782, 47.022820183397862, 0),
    (-69.282032302755098, 39.999999999999993, 0),
    (-73.083636611408053, 32.538931446064034, 0),
    (-79.561751629461867, 8.3622770614122981, 0),
    (-80, 9.7968508305790181e-15, 0),
    (-79.561751629461867, -8.3622770614122803, 0),
    (-73.083636611408068, -32.538931446064019, 0),
    (-69.282032302755084, -40.000000000000007, 0),
    (-64.72135954999581, -47.02282018339784, 0),
    (-57.547184027092086, -55.572669636719787, 0),
    (-47.022820183397862, -64.721359549995782, 0),
    (-44.735432277659726, -66.323005804403351, 0),
    (-32.538931446064005, -73.083636611408082, 0),
    (-8.3622770614122679, -79.561751629461867, 0),
    (-1.4695276245868527e-14, -80, 0),
    (8.3622770614122395, -79.561751629461867, 0),
    (32.538931446063984, -73.083636611408082, 0),
    (44.735432277659761, -66.323005804403323, 0),
    (47.022820183397833, -64.72135954999581, 0),
    (57.547184027092072, -55.572669636719809, 0),
    (64.721359549995782, -47.022820183397869, 0),
    (69.28203230275507, -40.000000000000036, 0),
    (73.083636611408082, -32.538931446064012, 0),
    (79.561751629461867, -8.3622770614122732, 0),
    (100, 0, 0),
    (99.452189536827333, 10.452846326765346, 0),
    (91.354545764260081, 40.673664307580019, 0),
    (86.602540378443877, 49.999999999999993, 0),
    (80.901699437494742, 58.778525229247315, 0),
    (71.933980033865126, 69.465837045899718, 0),
    (58.778525229247315, 80.901699437494742, 0),
    (55.919290347074678, 82.903757255504175, 0),
    (40.673664307580019, 91.354545764260081, 0),
    (10.452846326765346, 99.452189536827333, 0),
    (6.1230317691118863e-15, 100, 0),
    (-10.452846326765355, 99.452189536827333, 0),
    (-40.673664307580026, 91.354545764260081, 0),
    (-55.919290347074671, 82.903757255504175, 0),
    (-58.7785252292473, 80.901699437494742, 0),
    (-71.933980033865126, 69.465837045899718, 0),
    (-80.901699437494727, 58.778525229247322, 0),
    (-86.602540378443877, 49.999999999999993, 0),
    (-91.354545764260081, 40.67366430758004, 0),
    (-99.452189536827333, 10.452846326765373, 0),
    (-100, 1.2246063538223773e-14, 0),
    (-99.452189536827333, -10.45284632676535, 0),
    (-91.354545764260081, -40.673664307580019, 0),
    (-86.602540378443862, -50.000000000000014, 0),
    (-80.901699437494756, -58.7785252292473, 0),
    (-71.933980033865112, -69.465837045899733, 0),
    (-58.778525229247322, -80.901699437494727, 0),
    (-55.919290347074657, -82.903757255504189, 0),
    (-40.673664307580012, -91.354545764260095, 0),
    (-10.452846326765336, -99.452189536827333, 0),
    (-1.8369095307335659e-14, -100, 0),
    (10.452846326765298, -99.452189536827333, 0),
    (40.673664307579976, -91.354545764260109, 0),
    (55.9192903470747, -82.903757255504161, 0),
    (58.778525229247293, -80.901699437494756, 0),
    (71.933980033865083, -69.465837045899761, 0),
    (80.901699437494727, -58.778525229247336, 0),
    (86.602540378443834, -50.000000000000043, 0),
    (91.354545764260095, -40.673664307580012, 0),
    (99.452189536827333, -10.452846326765341, 0),
    (18, 0, 2),
    (17.901394116628918, 1.8815123388177626, 2),
    (16.443818237566816, 7.3212595753644036, 2),
    (15.588457268119896, 8.9999999999999982, 2),
    (14.562305898749054, 10.580134541264517, 2),
    (12.948116406095721, 12.503850668261951, 2),
    (10.580134541264517, 14.562305898749054, 2),
    (10.065472262473442, 14.922676305990752, 2),
    (7.3212595753644036, 16.443818237566816, 2),
    (1.8815123388177621, 17.901394116628918, 2),
    (1.1021457184401395e-15, 18, 2),
    (-1.8815123388177639, 17.901394116628918, 2),
    (-7.3212595753644045, 16.443818237566816, 2),
    (-10.06547226247344, 14.922676305990752, 2),
    (-10.580134541264515, 14.562305898749054, 2),
    (-12.948116406095721, 12.503850668261949, 2),
    (-14.562305898749052, 10.580134541264519, 2),
    (-15.588457268119896, 8.9999999999999982, 2),
    (-16.443818237566813, 7.3212595753644081, 2),
    (-17.901394116628918, 1.8815123388177672, 2),
    (-18, 2.2042914368802791e-15, 2),
    (-17.901394116628918, -1.881512338817763, 2),
    (-16.443818237566816, -7.3212595753644036, 2),
    (-15.588457268119894, -9.0000000000000018, 2),
    (-14.562305898749056, -10.580134541264515, 2),
    (-12.948116406095719, -12.503850668261952, 2),
    (-10.580134541264519, -14.562305898749052, 2),
    (-10.065472262473438, -14.922676305990754, 2),
    (-7.3212595753644019, -16.443818237566816, 2),
    (-1.8815123388177604, -17.901394116628921, 2),
    (-3.3064371553204186e-15, -18, 2),
    (1.8815123388177537, -17.901394116628921, 2),
    (7.3212595753643956, -16.44381823756682, 2),
    (10.065472262473445, -14.922676305990748, 2),
    (10.580134541264513, -14.562305898749056, 2),
    (12.948116406095716, -12.503850668261956, 2),
    (14.562305898749052, -10.58013454126452, 2),
    (15.588457268119891, -9.0000000000000071, 2),
    (16.443818237566816, -7.3212595753644027, 2),
    (17.901394116628918, -1.8815123388177615, 2),
    (58, 0, 2),
    (57.682269931359848, 6.0626508695239014, 2),
    (52.98563654327085, 23.590725298396411, 2),
    (50.229473419497445, 28.999999999999996, 2),
    (46.92298567374695, 34.091544632963441, 2),
    (41.721708419641772, 40.290185486621837, 2),
    (34.091544632963441, 46.92298567374695, 2),
    (32.433188401303312, 48.084179208192424, 2),
    (23.590725298396411, 52.98563654327085, 2),
    (6.0626508695239005, 57.682269931359848, 2),
    (3.551358426084894e-15, 58, 2),
    (-6.0626508695239059, 57.682269931359848, 2),
    (-23.590725298396414, 52.98563654327085, 2),
    (-32.433188401303305, 48.084179208192424, 2),
    (-34.091544632963434, 46.92298567374695, 2),
    (-41.721708419641772, 40.290185486621837, 2),
    (-46.922985673746943, 34.091544632963448, 2),
    (-50.229473419497445, 28.999999999999996, 2),
    (-52.985636543270843, 23.590725298396425, 2),
    (-57.682269931359848, 6.0626508695239165, 2),
    (-58, 7.1027168521697881e-15, 2),
    (-57.682269931359848, -6.0626508695239032, 2),
    (-52.98563654327085, -23.590725298396411, 2),
    (-50.229473419497438, -29.000000000000007, 2),
    (-46.922985673746958, -34.091544632963434, 2),
    (-41.721708419641764, -40.290185486621844, 2),
    (-34.091544632963448, -46.922985673746943, 2),
    (-32.433188401303298, -48.084179208192424, 2),
    (-23.590725298396407, -52.985636543270857, 2),
    (-6.0626508695238952, -57.682269931359855, 2),
    (-1.0654075278254682e-14, -58, 2),
    (6.062650869523873, -57.682269931359855, 2),
    (23.590725298396386, -52.985636543270864, 2),
    (32.433188401303326, -48.084179208192417, 2),
    (34.091544632963426, -46.922985673746958, 2),
    (41.72170841964175, -40.290185486621859, 2),
    (46.922985673746943, -34.091544632963455, 2),
    (50.229473419497424, -29.000000000000025, 2),
    (52.985636543270857, -23.590725298396407, 2),
    (57.682269931359848, -6.0626508695238979, 2),
    (51.961524227066306, -30.000000000000028, 0),
    (54.812727458556061, -24.404198584548009, 0),
    (59.6713137220964, -6.2717077960592054, 0),
    (60, -1.4695276245868527e-14, 0),
    (59.671313722096407, 6.2717077960591761, 0),
    (54.812727458556047, 24.40419858454803, 0),
    (51.961524227066313, 30, 0),
    (-51.96152422706632, 29.999999999999996, 0),
    (-54.812727458556047, 24.404198584548027, 0),
    (-59.6713137220964, 6.271707796059224, 0),
    (-60, 7.3476381229342635e-15, 0),
    (-59.6713137220964, -6.2717077960592098, 0),
    (-54.812727458556054, -24.404198584548013, 0),
    (-51.961524227066313, -30.000000000000007, 0),
    (46.757087022012328, 45.15279407983482, 0),
    (38.206041399010751, 52.586104634371587, 0),
    (36.34753872559854, 53.887442216077716, 0),
    (55.389164626076145, 53.488694525342787, 0),
    (45.259464426520431, 62.294308566870953, 0),
    (43.057853567247506, 63.835893086738217, 0),
    (-36.347538725598532, 53.887442216077716, 0),
    (-38.206041399010743, 52.586104634371587, 0),
    (-46.757087022012328, 45.152794079834813, 0),
    (-43.057853567247491, 63.835893086738217, 0),
    (-45.259464426520424, 62.294308566870953, 0),
    (-55.389164626076145, 53.48869452534278, 0),
    (-46.757087022012321, -45.152794079834827, 0),
    (-38.206041399010758, -52.58610463437158, 0),
    (-36.347538725598525, -53.887442216077723, 0),
    (-55.389164626076131, -53.488694525342794, 0),
    (-45.259464426520438, -62.294308566870946, 0),
    (-43.057853567247484, -63.835893086738224, 0),
    (36.347538725598554, -53.887442216077709, 0),
    (38.206041399010736, -52.586104634371594, 0),
    (46.757087022012307, -45.152794079834841, 0),
    (43.05785356724752, -63.835893086738203, 0),
    (45.259464426520417, -62.29430856687096, 0),
    (55.389164626076116, -53.488694525342815, 0),
    (42.764441500835751, -4.494723920509097, 2),
    (43, -1.0531614642872444e-14, 2),
    (42.764441500835758, 4.4947239205090757, 2),
    (39.282454678631836, 17.489675652259407, 2),
    (37.239092362730865, 21.499999999999996, 2),
    (34.787730758122741, 25.274765848576344, 2),
    (25.274765848576344, 34.787730758122741, 2),
    (24.045294849242111, 35.648615619866796, 2),
    (17.489675652259407, 39.282454678631836, 2),
    (4.4947239205090987, 42.764441500835751, 2),
    (2.6329036607181111e-15, 43, 2),
    (-4.4947239205091032, 42.764441500835751, 2),
    (-17.489675652259411, 39.282454678631836, 2),
    (-24.045294849242108, 35.648615619866796, 2),
    (-25.27476584857634, 34.787730758122741, 2),
    (-34.787730758122734, 25.274765848576351, 2),
    (-37.239092362730865, 21.499999999999996, 2),
    (-39.282454678631829, 17.489675652259418, 2),
    (-42.764441500835751, 4.4947239205091103, 2),
    (-43, 5.2658073214362222e-15, 2),
    (-42.764441500835751, -4.4947239205091005, 2),
    (-39.282454678631836, -17.489675652259407, 2),
    (-37.239092362730858, -21.500000000000004, 2),
    (-34.787730758122748, -25.27476584857634, 2),
    (-25.274765848576351, -34.787730758122734, 2),
    (-24.045294849242104, -35.648615619866803, 2),
    (-17.489675652259404, -39.282454678631844, 2),
    (-4.4947239205090943, -42.764441500835758, 2),
    (-7.8987109821543333e-15, -43, 2),
    (4.4947239205090783, -42.764441500835758, 2),
    (17.48967565225939, -39.282454678631844, 2),
    (24.045294849242122, -35.648615619866789, 2),
    (25.274765848576337, -34.787730758122748, 2),
    (34.787730758122734, -25.274765848576354, 2),
    (37.239092362730851, -21.500000000000018, 2),
    (39.282454678631844, -17.489675652259407, 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: Узлы и размеры геометрии.
Рисунок 27.23. Машина постоянного тока. Шаг 5: Узлы и размеры геометрии. Открыть в полном размере

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

Этап 6 из 11

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

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

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

Таблица 27.23. Все отрезки и назначенные границы
№Начальный узелКонечный узелГраницаГруппа
001Нулевой потенциал0
112Нулевой потенциал0
223Нулевой потенциал0
330Нулевой потенциал0
416441Нет0
51707Нет0
617121Нет0
717727Нет0
8178181Нет0
9180183Нет0
10184187Нет0
11186189Нет0
12190193Нет0
13192195Нет0
14196199Нет0
15198201Нет0
16202163Нет2
17204125Нет2
18205126Нет2
19207128Нет2
20208130Нет2
21210132Нет2
22211133Нет2
23213135Нет2
24214136Нет2
25216138Нет2
26217140Нет2
27219142Нет2
28220143Нет2
29222145Нет2
30223146Нет2
31225148Нет2
32226150Нет2
33228152Нет2
34229153Нет2
35231155Нет2
36232156Нет2
37234158Нет2
38235160Нет2
39237162Нет2

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

Таблица 27.24. Все дуги и назначенные границы
№Начальный узелКонечный узелУгол дуги, {}^\circГраницаГруппа
0456Нет0
15618Нет0
2676Нет0
3786Нет0
4898Нет0
591010Нет0
610112Нет0
7111210Нет0
8121318Нет0
913146Нет0
1014156Нет0
11151618Нет0
12161710Нет0
1317182Нет0
14181910Нет0
1519208Нет0
1620216Нет0
1721226Нет0
18222318Нет0
1923246Нет0
2024256Нет0
21252618Нет0
2226276Нет0
2327286Нет0
2428298Нет0
25293010Нет0
2630312Нет0
27313210Нет0
28323318Нет0
2933346Нет0
3034356Нет0
31353618Нет0
32363710Нет0
3337382Нет0
34383910Нет0
3539408Нет0
3640416Нет0
3741426Нет0
38424318Нет0
394346Нет0
4044456Нет0
41454618Нет0
4246476Нет0
4347486Нет0
4448498Нет0
45495010Нет0
4650512Нет0
47515210Нет0
48525318Нет0
4953546Нет0
5054556Нет0
51555618Нет0
52565710Нет0
5357582Нет0
54585910Нет0
5559608Нет0
5660616Нет0
5761626Нет0
58626318Нет0
5963646Нет0
6064656Нет0
61656618Нет0
6266676Нет0
6367686Нет0
6468698Нет0
65697010Нет0
6670712Нет0
67717210Нет0
68727318Нет0
6973746Нет0
7074756Нет0
71757618Нет0
72767710Нет0
7377782Нет0
74787910Нет0
7579808Нет0
7680816Нет0
7781826Нет0
78828318Нет0
7983446Нет0
8084856Нет2
81858618Нет2
8286876Нет2
8387886Нет2
8488898Нет2
85899010Нет2
8690912Нет2
87919210Нет2
88929318Нет2
8993946Нет2
9094956Нет2
91959618Нет2
92969710Нет2
9397982Нет2
94989910Нет2
95991008Нет2
961001016Нет2
971011026Нет2
9810210318Нет2
991031046Нет2
1001041056Нет2
10110510618Нет2
1021061076Нет2
1031071086Нет2
1041081098Нет2
10510911010Нет2
1061101112Нет2
10711111210Нет2
10811211318Нет2
1091131146Нет2
1101141156Нет2
11111511618Нет2
11211611710Нет2
1131171182Нет2
11411811910Нет2
1151191208Нет2
1161201216Нет2
1171211226Нет2
11812212318Нет2
119123846Нет2
1201241256Нет2
12112512618Нет2
1221261276Нет2
1231271286Нет2
1241281298Нет2
12512913010Нет2
1261301312Нет2
12713113210Нет2
12813213318Нет2
1291331346Нет2
1301341356Нет2
13113513618Нет2
13213613710Нет2
1331371382Нет2
13413813910Нет2
1351391408Нет2
1361401416Нет2
1371411426Нет2
13814214318Нет2
1391431446Нет2
1401441456Нет2
14114514618Нет2
1421461476Нет2
1431471486Нет2
1441481498Нет2
14514915010Нет2
1461501512Нет2
14715115210Нет2
14815215318Нет2
1491531546Нет2
1501541556Нет2
15115515618Нет2
15215615710Нет2
1531571582Нет2
15415815910Нет2
1551591608Нет2
1561601616Нет2
1571611626Нет2
15816216318Нет2
1591631246Нет2
1601641656Нет0
16116516618Нет0
1621661676Нет0
1631671686Нет0
16416816918Нет0
1651691706Нет0
1661711726Нет0
16717217318Нет0
1681731746Нет0
1691741756Нет0
17017517618Нет0
1711761776Нет0
17217817910Нет0
1731791802Нет0
17418118210Нет0
1751821832Нет0
1761841852Нет0
17718518610Нет0
1781871882Нет0
17918818910Нет0
18019019110Нет0
1811911922Нет0
18219319410Нет0
1831941952Нет0
1841961972Нет0
18519719810Нет0
1861992002Нет0
18720020110Нет0
1882022036Нет2
1892032046Нет2
1902052066Нет2
1912062076Нет2
1922082092Нет2
19320921010Нет2
1942112126Нет2
1952122136Нет2
19621421510Нет2
1972152162Нет2
1982172186Нет2
1992182196Нет2
2002202216Нет2
2012212226Нет2
2022232246Нет2
2032242256Нет2
2042262272Нет2
20522722810Нет2
2062292306Нет2
2072302316Нет2
20823223310Нет2
2092332342Нет2
2102352366Нет2
2112362376Нет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(2, 0), 1)
mi_addcircprop("Обмотка якоря", complex(3, 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),
    (80, 0, 0),
    (79.561751629461867, 8.3622770614122786, 0),
    (73.083636611408068, 32.538931446064019, 0),
    (69.282032302755098, 39.999999999999993, 0),
    (64.721359549995796, 47.022820183397855, 0),
    (57.547184027092094, 55.57266963671978, 0),
    (47.022820183397855, 64.721359549995796, 0),
    (44.73543227765974, 66.323005804403337, 0),
    (32.538931446064019, 73.083636611408068, 0),
    (8.3622770614122768, 79.561751629461867, 0),
    (4.898425415289509e-15, 80, 0),
    (-8.3622770614122839, 79.561751629461867, 0),
    (-32.538931446064019, 73.083636611408068, 0),
    (-44.735432277659733, 66.323005804403337, 0),
    (-47.02282018339784, 64.721359549995796, 0),
    (-57.547184027092094, 55.572669636719773, 0),
    (-64.721359549995782, 47.022820183397862, 0),
    (-69.282032302755098, 39.999999999999993, 0),
    (-73.083636611408053, 32.538931446064034, 0),
    (-79.561751629461867, 8.3622770614122981, 0),
    (-80, 9.7968508305790181e-15, 0),
    (-79.561751629461867, -8.3622770614122803, 0),
    (-73.083636611408068, -32.538931446064019, 0),
    (-69.282032302755084, -40.000000000000007, 0),
    (-64.72135954999581, -47.02282018339784, 0),
    (-57.547184027092086, -55.572669636719787, 0),
    (-47.022820183397862, -64.721359549995782, 0),
    (-44.735432277659726, -66.323005804403351, 0),
    (-32.538931446064005, -73.083636611408082, 0),
    (-8.3622770614122679, -79.561751629461867, 0),
    (-1.4695276245868527e-14, -80, 0),
    (8.3622770614122395, -79.561751629461867, 0),
    (32.538931446063984, -73.083636611408082, 0),
    (44.735432277659761, -66.323005804403323, 0),
    (47.022820183397833, -64.72135954999581, 0),
    (57.547184027092072, -55.572669636719809, 0),
    (64.721359549995782, -47.022820183397869, 0),
    (69.28203230275507, -40.000000000000036, 0),
    (73.083636611408082, -32.538931446064012, 0),
    (79.561751629461867, -8.3622770614122732, 0),
    (100, 0, 0),
    (99.452189536827333, 10.452846326765346, 0),
    (91.354545764260081, 40.673664307580019, 0),
    (86.602540378443877, 49.999999999999993, 0),
    (80.901699437494742, 58.778525229247315, 0),
    (71.933980033865126, 69.465837045899718, 0),
    (58.778525229247315, 80.901699437494742, 0),
    (55.919290347074678, 82.903757255504175, 0),
    (40.673664307580019, 91.354545764260081, 0),
    (10.452846326765346, 99.452189536827333, 0),
    (6.1230317691118863e-15, 100, 0),
    (-10.452846326765355, 99.452189536827333, 0),
    (-40.673664307580026, 91.354545764260081, 0),
    (-55.919290347074671, 82.903757255504175, 0),
    (-58.7785252292473, 80.901699437494742, 0),
    (-71.933980033865126, 69.465837045899718, 0),
    (-80.901699437494727, 58.778525229247322, 0),
    (-86.602540378443877, 49.999999999999993, 0),
    (-91.354545764260081, 40.67366430758004, 0),
    (-99.452189536827333, 10.452846326765373, 0),
    (-100, 1.2246063538223773e-14, 0),
    (-99.452189536827333, -10.45284632676535, 0),
    (-91.354545764260081, -40.673664307580019, 0),
    (-86.602540378443862, -50.000000000000014, 0),
    (-80.901699437494756, -58.7785252292473, 0),
    (-71.933980033865112, -69.465837045899733, 0),
    (-58.778525229247322, -80.901699437494727, 0),
    (-55.919290347074657, -82.903757255504189, 0),
    (-40.673664307580012, -91.354545764260095, 0),
    (-10.452846326765336, -99.452189536827333, 0),
    (-1.8369095307335659e-14, -100, 0),
    (10.452846326765298, -99.452189536827333, 0),
    (40.673664307579976, -91.354545764260109, 0),
    (55.9192903470747, -82.903757255504161, 0),
    (58.778525229247293, -80.901699437494756, 0),
    (71.933980033865083, -69.465837045899761, 0),
    (80.901699437494727, -58.778525229247336, 0),
    (86.602540378443834, -50.000000000000043, 0),
    (91.354545764260095, -40.673664307580012, 0),
    (99.452189536827333, -10.452846326765341, 0),
    (18, 0, 2),
    (17.901394116628918, 1.8815123388177626, 2),
    (16.443818237566816, 7.3212595753644036, 2),
    (15.588457268119896, 8.9999999999999982, 2),
    (14.562305898749054, 10.580134541264517, 2),
    (12.948116406095721, 12.503850668261951, 2),
    (10.580134541264517, 14.562305898749054, 2),
    (10.065472262473442, 14.922676305990752, 2),
    (7.3212595753644036, 16.443818237566816, 2),
    (1.8815123388177621, 17.901394116628918, 2),
    (1.1021457184401395e-15, 18, 2),
    (-1.8815123388177639, 17.901394116628918, 2),
    (-7.3212595753644045, 16.443818237566816, 2),
    (-10.06547226247344, 14.922676305990752, 2),
    (-10.580134541264515, 14.562305898749054, 2),
    (-12.948116406095721, 12.503850668261949, 2),
    (-14.562305898749052, 10.580134541264519, 2),
    (-15.588457268119896, 8.9999999999999982, 2),
    (-16.443818237566813, 7.3212595753644081, 2),
    (-17.901394116628918, 1.8815123388177672, 2),
    (-18, 2.2042914368802791e-15, 2),
    (-17.901394116628918, -1.881512338817763, 2),
    (-16.443818237566816, -7.3212595753644036, 2),
    (-15.588457268119894, -9.0000000000000018, 2),
    (-14.562305898749056, -10.580134541264515, 2),
    (-12.948116406095719, -12.503850668261952, 2),
    (-10.580134541264519, -14.562305898749052, 2),
    (-10.065472262473438, -14.922676305990754, 2),
    (-7.3212595753644019, -16.443818237566816, 2),
    (-1.8815123388177604, -17.901394116628921, 2),
    (-3.3064371553204186e-15, -18, 2),
    (1.8815123388177537, -17.901394116628921, 2),
    (7.3212595753643956, -16.44381823756682, 2),
    (10.065472262473445, -14.922676305990748, 2),
    (10.580134541264513, -14.562305898749056, 2),
    (12.948116406095716, -12.503850668261956, 2),
    (14.562305898749052, -10.58013454126452, 2),
    (15.588457268119891, -9.0000000000000071, 2),
    (16.443818237566816, -7.3212595753644027, 2),
    (17.901394116628918, -1.8815123388177615, 2),
    (58, 0, 2),
    (57.682269931359848, 6.0626508695239014, 2),
    (52.98563654327085, 23.590725298396411, 2),
    (50.229473419497445, 28.999999999999996, 2),
    (46.92298567374695, 34.091544632963441, 2),
    (41.721708419641772, 40.290185486621837, 2),
    (34.091544632963441, 46.92298567374695, 2),
    (32.433188401303312, 48.084179208192424, 2),
    (23.590725298396411, 52.98563654327085, 2),
    (6.0626508695239005, 57.682269931359848, 2),
    (3.551358426084894e-15, 58, 2),
    (-6.0626508695239059, 57.682269931359848, 2),
    (-23.590725298396414, 52.98563654327085, 2),
    (-32.433188401303305, 48.084179208192424, 2),
    (-34.091544632963434, 46.92298567374695, 2),
    (-41.721708419641772, 40.290185486621837, 2),
    (-46.922985673746943, 34.091544632963448, 2),
    (-50.229473419497445, 28.999999999999996, 2),
    (-52.985636543270843, 23.590725298396425, 2),
    (-57.682269931359848, 6.0626508695239165, 2),
    (-58, 7.1027168521697881e-15, 2),
    (-57.682269931359848, -6.0626508695239032, 2),
    (-52.98563654327085, -23.590725298396411, 2),
    (-50.229473419497438, -29.000000000000007, 2),
    (-46.922985673746958, -34.091544632963434, 2),
    (-41.721708419641764, -40.290185486621844, 2),
    (-34.091544632963448, -46.922985673746943, 2),
    (-32.433188401303298, -48.084179208192424, 2),
    (-23.590725298396407, -52.985636543270857, 2),
    (-6.0626508695238952, -57.682269931359855, 2),
    (-1.0654075278254682e-14, -58, 2),
    (6.062650869523873, -57.682269931359855, 2),
    (23.590725298396386, -52.985636543270864, 2),
    (32.433188401303326, -48.084179208192417, 2),
    (34.091544632963426, -46.922985673746958, 2),
    (41.72170841964175, -40.290185486621859, 2),
    (46.922985673746943, -34.091544632963455, 2),
    (50.229473419497424, -29.000000000000025, 2),
    (52.985636543270857, -23.590725298396407, 2),
    (57.682269931359848, -6.0626508695238979, 2),
    (51.961524227066306, -30.000000000000028, 0),
    (54.812727458556061, -24.404198584548009, 0),
    (59.6713137220964, -6.2717077960592054, 0),
    (60, -1.4695276245868527e-14, 0),
    (59.671313722096407, 6.2717077960591761, 0),
    (54.812727458556047, 24.40419858454803, 0),
    (51.961524227066313, 30, 0),
    (-51.96152422706632, 29.999999999999996, 0),
    (-54.812727458556047, 24.404198584548027, 0),
    (-59.6713137220964, 6.271707796059224, 0),
    (-60, 7.3476381229342635e-15, 0),
    (-59.6713137220964, -6.2717077960592098, 0),
    (-54.812727458556054, -24.404198584548013, 0),
    (-51.961524227066313, -30.000000000000007, 0),
    (46.757087022012328, 45.15279407983482, 0),
    (38.206041399010751, 52.586104634371587, 0),
    (36.34753872559854, 53.887442216077716, 0),
    (55.389164626076145, 53.488694525342787, 0),
    (45.259464426520431, 62.294308566870953, 0),
    (43.057853567247506, 63.835893086738217, 0),
    (-36.347538725598532, 53.887442216077716, 0),
    (-38.206041399010743, 52.586104634371587, 0),
    (-46.757087022012328, 45.152794079834813, 0),
    (-43.057853567247491, 63.835893086738217, 0),
    (-45.259464426520424, 62.294308566870953, 0),
    (-55.389164626076145, 53.48869452534278, 0),
    (-46.757087022012321, -45.152794079834827, 0),
    (-38.206041399010758, -52.58610463437158, 0),
    (-36.347538725598525, -53.887442216077723, 0),
    (-55.389164626076131, -53.488694525342794, 0),
    (-45.259464426520438, -62.294308566870946, 0),
    (-43.057853567247484, -63.835893086738224, 0),
    (36.347538725598554, -53.887442216077709, 0),
    (38.206041399010736, -52.586104634371594, 0),
    (46.757087022012307, -45.152794079834841, 0),
    (43.05785356724752, -63.835893086738203, 0),
    (45.259464426520417, -62.29430856687096, 0),
    (55.389164626076116, -53.488694525342815, 0),
    (42.764441500835751, -4.494723920509097, 2),
    (43, -1.0531614642872444e-14, 2),
    (42.764441500835758, 4.4947239205090757, 2),
    (39.282454678631836, 17.489675652259407, 2),
    (37.239092362730865, 21.499999999999996, 2),
    (34.787730758122741, 25.274765848576344, 2),
    (25.274765848576344, 34.787730758122741, 2),
    (24.045294849242111, 35.648615619866796, 2),
    (17.489675652259407, 39.282454678631836, 2),
    (4.4947239205090987, 42.764441500835751, 2),
    (2.6329036607181111e-15, 43, 2),
    (-4.4947239205091032, 42.764441500835751, 2),
    (-17.489675652259411, 39.282454678631836, 2),
    (-24.045294849242108, 35.648615619866796, 2),
    (-25.27476584857634, 34.787730758122741, 2),
    (-34.787730758122734, 25.274765848576351, 2),
    (-37.239092362730865, 21.499999999999996, 2),
    (-39.282454678631829, 17.489675652259418, 2),
    (-42.764441500835751, 4.4947239205091103, 2),
    (-43, 5.2658073214362222e-15, 2),
    (-42.764441500835751, -4.4947239205091005, 2),
    (-39.282454678631836, -17.489675652259407, 2),
    (-37.239092362730858, -21.500000000000004, 2),
    (-34.787730758122748, -25.27476584857634, 2),
    (-25.274765848576351, -34.787730758122734, 2),
    (-24.045294849242104, -35.648615619866803, 2),
    (-17.489675652259404, -39.282454678631844, 2),
    (-4.4947239205090943, -42.764441500835758, 2),
    (-7.8987109821543333e-15, -43, 2),
    (4.4947239205090783, -42.764441500835758, 2),
    (17.48967565225939, -39.282454678631844, 2),
    (24.045294849242122, -35.648615619866789, 2),
    (25.274765848576337, -34.787730758122748, 2),
    (34.787730758122734, -25.274765848576354, 2),
    (37.239092362730851, -21.500000000000018, 2),
    (39.282454678631844, -17.489675652259407, 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),
    (164, 41, -1, "", 0, 0),
    (170, 7, -1, "", 0, 0),
    (171, 21, -1, "", 0, 0),
    (177, 27, -1, "", 0, 0),
    (178, 181, -1, "", 0, 0),
    (180, 183, -1, "", 0, 0),
    (184, 187, -1, "", 0, 0),
    (186, 189, -1, "", 0, 0),
    (190, 193, -1, "", 0, 0),
    (192, 195, -1, "", 0, 0),
    (196, 199, -1, "", 0, 0),
    (198, 201, -1, "", 0, 0),
    (202, 163, -1, "", 0, 2),
    (204, 125, -1, "", 0, 2),
    (205, 126, -1, "", 0, 2),
    (207, 128, -1, "", 0, 2),
    (208, 130, -1, "", 0, 2),
    (210, 132, -1, "", 0, 2),
    (211, 133, -1, "", 0, 2),
    (213, 135, -1, "", 0, 2),
    (214, 136, -1, "", 0, 2),
    (216, 138, -1, "", 0, 2),
    (217, 140, -1, "", 0, 2),
    (219, 142, -1, "", 0, 2),
    (220, 143, -1, "", 0, 2),
    (222, 145, -1, "", 0, 2),
    (223, 146, -1, "", 0, 2),
    (225, 148, -1, "", 0, 2),
    (226, 150, -1, "", 0, 2),
    (228, 152, -1, "", 0, 2),
    (229, 153, -1, "", 0, 2),
    (231, 155, -1, "", 0, 2),
    (232, 156, -1, "", 0, 2),
    (234, 158, -1, "", 0, 2),
    (235, 160, -1, "", 0, 2),
    (237, 162, -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, 6, 10, "", 0, 0),
    (5, 6, 18, 10, "", 0, 0),
    (6, 7, 6, 10, "", 0, 0),
    (7, 8, 6, 10, "", 0, 0),
    (8, 9, 8, 10, "", 0, 0),
    (9, 10, 10, 10, "", 0, 0),
    (10, 11, 2, 10, "", 0, 0),
    (11, 12, 10, 10, "", 0, 0),
    (12, 13, 18, 10, "", 0, 0),
    (13, 14, 6, 10, "", 0, 0),
    (14, 15, 6, 10, "", 0, 0),
    (15, 16, 18, 10, "", 0, 0),
    (16, 17, 10, 10, "", 0, 0),
    (17, 18, 2, 10, "", 0, 0),
    (18, 19, 10, 10, "", 0, 0),
    (19, 20, 8, 10, "", 0, 0),
    (20, 21, 6, 10, "", 0, 0),
    (21, 22, 6, 10, "", 0, 0),
    (22, 23, 18, 10, "", 0, 0),
    (23, 24, 6, 10, "", 0, 0),
    (24, 25, 6, 10, "", 0, 0),
    (25, 26, 18, 10, "", 0, 0),
    (26, 27, 6, 10, "", 0, 0),
    (27, 28, 6, 10, "", 0, 0),
    (28, 29, 8, 10, "", 0, 0),
    (29, 30, 10, 10, "", 0, 0),
    (30, 31, 2, 10, "", 0, 0),
    (31, 32, 10, 10, "", 0, 0),
    (32, 33, 18, 10, "", 0, 0),
    (33, 34, 6, 10, "", 0, 0),
    (34, 35, 6, 10, "", 0, 0),
    (35, 36, 18, 10, "", 0, 0),
    (36, 37, 10, 10, "", 0, 0),
    (37, 38, 2, 10, "", 0, 0),
    (38, 39, 10, 10, "", 0, 0),
    (39, 40, 8, 10, "", 0, 0),
    (40, 41, 6, 10, "", 0, 0),
    (41, 42, 6, 10, "", 0, 0),
    (42, 43, 18, 10, "", 0, 0),
    (43, 4, 6, 10, "", 0, 0),
    (44, 45, 6, 10, "", 0, 0),
    (45, 46, 18, 10, "", 0, 0),
    (46, 47, 6, 10, "", 0, 0),
    (47, 48, 6, 10, "", 0, 0),
    (48, 49, 8, 10, "", 0, 0),
    (49, 50, 10, 10, "", 0, 0),
    (50, 51, 2, 10, "", 0, 0),
    (51, 52, 10, 10, "", 0, 0),
    (52, 53, 18, 10, "", 0, 0),
    (53, 54, 6, 10, "", 0, 0),
    (54, 55, 6, 10, "", 0, 0),
    (55, 56, 18, 10, "", 0, 0),
    (56, 57, 10, 10, "", 0, 0),
    (57, 58, 2, 10, "", 0, 0),
    (58, 59, 10, 10, "", 0, 0),
    (59, 60, 8, 10, "", 0, 0),
    (60, 61, 6, 10, "", 0, 0),
    (61, 62, 6, 10, "", 0, 0),
    (62, 63, 18, 10, "", 0, 0),
    (63, 64, 6, 10, "", 0, 0),
    (64, 65, 6, 10, "", 0, 0),
    (65, 66, 18, 10, "", 0, 0),
    (66, 67, 6, 10, "", 0, 0),
    (67, 68, 6, 10, "", 0, 0),
    (68, 69, 8, 10, "", 0, 0),
    (69, 70, 10, 10, "", 0, 0),
    (70, 71, 2, 10, "", 0, 0),
    (71, 72, 10, 10, "", 0, 0),
    (72, 73, 18, 10, "", 0, 0),
    (73, 74, 6, 10, "", 0, 0),
    (74, 75, 6, 10, "", 0, 0),
    (75, 76, 18, 10, "", 0, 0),
    (76, 77, 10, 10, "", 0, 0),
    (77, 78, 2, 10, "", 0, 0),
    (78, 79, 10, 10, "", 0, 0),
    (79, 80, 8, 10, "", 0, 0),
    (80, 81, 6, 10, "", 0, 0),
    (81, 82, 6, 10, "", 0, 0),
    (82, 83, 18, 10, "", 0, 0),
    (83, 44, 6, 10, "", 0, 0),
    (84, 85, 6, 10, "", 0, 2),
    (85, 86, 18, 10, "", 0, 2),
    (86, 87, 6, 10, "", 0, 2),
    (87, 88, 6, 10, "", 0, 2),
    (88, 89, 8, 10, "", 0, 2),
    (89, 90, 10, 10, "", 0, 2),
    (90, 91, 2, 10, "", 0, 2),
    (91, 92, 10, 10, "", 0, 2),
    (92, 93, 18, 10, "", 0, 2),
    (93, 94, 6, 10, "", 0, 2),
    (94, 95, 6, 10, "", 0, 2),
    (95, 96, 18, 10, "", 0, 2),
    (96, 97, 10, 10, "", 0, 2),
    (97, 98, 2, 10, "", 0, 2),
    (98, 99, 10, 10, "", 0, 2),
    (99, 100, 8, 10, "", 0, 2),
    (100, 101, 6, 10, "", 0, 2),
    (101, 102, 6, 10, "", 0, 2),
    (102, 103, 18, 10, "", 0, 2),
    (103, 104, 6, 10, "", 0, 2),
    (104, 105, 6, 10, "", 0, 2),
    (105, 106, 18, 10, "", 0, 2),
    (106, 107, 6, 10, "", 0, 2),
    (107, 108, 6, 10, "", 0, 2),
    (108, 109, 8, 10, "", 0, 2),
    (109, 110, 10, 10, "", 0, 2),
    (110, 111, 2, 10, "", 0, 2),
    (111, 112, 10, 10, "", 0, 2),
    (112, 113, 18, 10, "", 0, 2),
    (113, 114, 6, 10, "", 0, 2),
    (114, 115, 6, 10, "", 0, 2),
    (115, 116, 18, 10, "", 0, 2),
    (116, 117, 10, 10, "", 0, 2),
    (117, 118, 2, 10, "", 0, 2),
    (118, 119, 10, 10, "", 0, 2),
    (119, 120, 8, 10, "", 0, 2),
    (120, 121, 6, 10, "", 0, 2),
    (121, 122, 6, 10, "", 0, 2),
    (122, 123, 18, 10, "", 0, 2),
    (123, 84, 6, 10, "", 0, 2),
    (124, 125, 6, 10, "", 0, 2),
    (125, 126, 18, 10, "", 0, 2),
    (126, 127, 6, 10, "", 0, 2),
    (127, 128, 6, 10, "", 0, 2),
    (128, 129, 8, 10, "", 0, 2),
    (129, 130, 10, 10, "", 0, 2),
    (130, 131, 2, 10, "", 0, 2),
    (131, 132, 10, 10, "", 0, 2),
    (132, 133, 18, 10, "", 0, 2),
    (133, 134, 6, 10, "", 0, 2),
    (134, 135, 6, 10, "", 0, 2),
    (135, 136, 18, 10, "", 0, 2),
    (136, 137, 10, 10, "", 0, 2),
    (137, 138, 2, 10, "", 0, 2),
    (138, 139, 10, 10, "", 0, 2),
    (139, 140, 8, 10, "", 0, 2),
    (140, 141, 6, 10, "", 0, 2),
    (141, 142, 6, 10, "", 0, 2),
    (142, 143, 18, 10, "", 0, 2),
    (143, 144, 6, 10, "", 0, 2),
    (144, 145, 6, 10, "", 0, 2),
    (145, 146, 18, 10, "", 0, 2),
    (146, 147, 6, 10, "", 0, 2),
    (147, 148, 6, 10, "", 0, 2),
    (148, 149, 8, 10, "", 0, 2),
    (149, 150, 10, 10, "", 0, 2),
    (150, 151, 2, 10, "", 0, 2),
    (151, 152, 10, 10, "", 0, 2),
    (152, 153, 18, 10, "", 0, 2),
    (153, 154, 6, 10, "", 0, 2),
    (154, 155, 6, 10, "", 0, 2),
    (155, 156, 18, 10, "", 0, 2),
    (156, 157, 10, 10, "", 0, 2),
    (157, 158, 2, 10, "", 0, 2),
    (158, 159, 10, 10, "", 0, 2),
    (159, 160, 8, 10, "", 0, 2),
    (160, 161, 6, 10, "", 0, 2),
    (161, 162, 6, 10, "", 0, 2),
    (162, 163, 18, 10, "", 0, 2),
    (163, 124, 6, 10, "", 0, 2),
    (164, 165, 6, 10, "", 0, 0),
    (165, 166, 18, 10, "", 0, 0),
    (166, 167, 6, 10, "", 0, 0),
    (167, 168, 6, 10, "", 0, 0),
    (168, 169, 18, 10, "", 0, 0),
    (169, 170, 6, 10, "", 0, 0),
    (171, 172, 6, 10, "", 0, 0),
    (172, 173, 18, 10, "", 0, 0),
    (173, 174, 6, 10, "", 0, 0),
    (174, 175, 6, 10, "", 0, 0),
    (175, 176, 18, 10, "", 0, 0),
    (176, 177, 6, 10, "", 0, 0),
    (178, 179, 10, 10, "", 0, 0),
    (179, 180, 2, 10, "", 0, 0),
    (181, 182, 10, 10, "", 0, 0),
    (182, 183, 2, 10, "", 0, 0),
    (184, 185, 2, 10, "", 0, 0),
    (185, 186, 10, 10, "", 0, 0),
    (187, 188, 2, 10, "", 0, 0),
    (188, 189, 10, 10, "", 0, 0),
    (190, 191, 10, 10, "", 0, 0),
    (191, 192, 2, 10, "", 0, 0),
    (193, 194, 10, 10, "", 0, 0),
    (194, 195, 2, 10, "", 0, 0),
    (196, 197, 2, 10, "", 0, 0),
    (197, 198, 10, 10, "", 0, 0),
    (199, 200, 2, 10, "", 0, 0),
    (200, 201, 10, 10, "", 0, 0),
    (202, 203, 6, 10, "", 0, 2),
    (203, 204, 6, 10, "", 0, 2),
    (205, 206, 6, 10, "", 0, 2),
    (206, 207, 6, 10, "", 0, 2),
    (208, 209, 2, 10, "", 0, 2),
    (209, 210, 10, 10, "", 0, 2),
    (211, 212, 6, 10, "", 0, 2),
    (212, 213, 6, 10, "", 0, 2),
    (214, 215, 10, 10, "", 0, 2),
    (215, 216, 2, 10, "", 0, 2),
    (217, 218, 6, 10, "", 0, 2),
    (218, 219, 6, 10, "", 0, 2),
    (220, 221, 6, 10, "", 0, 2),
    (221, 222, 6, 10, "", 0, 2),
    (223, 224, 6, 10, "", 0, 2),
    (224, 225, 6, 10, "", 0, 2),
    (226, 227, 2, 10, "", 0, 2),
    (227, 228, 10, 10, "", 0, 2),
    (229, 230, 6, 10, "", 0, 2),
    (230, 231, 6, 10, "", 0, 2),
    (232, 233, 10, 10, "", 0, 2),
    (233, 234, 2, 10, "", 0, 2),
    (235, 236, 6, 10, "", 0, 2),
    (236, 237, 6, 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: Отрезки и дуги.
Рисунок 27.24. Машина постоянного тока. Шаг 6: Отрезки и дуги. Открыть в полном размере

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

Этап 7 из 11

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

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

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

Таблица 27.25. Положения всех меток
№x или r, ммy или z, ммБудущий материал
0144,5144,5Воздух
1092Линейная сталь
2300Линейная сталь
300Воздух
4700Линейная сталь
5-700Линейная сталь
645,6454,39Обмоточная область
7-45,6454,39Обмоточная область
8-45,64-54,39Обмоточная область
945,64-54,39Обмоточная область
10500Обмоточная область
1143,325Обмоточная область
122543,3Обмоточная область
13050Обмоточная область
14-2543,3Обмоточная область
15-43,325Обмоточная область
16-500Обмоточная область
17-43,3-25Обмоточная область
18-25-43,3Обмоточная область
190-50Обмоточная область
2025-43,3Обмоточная область
2143,3-25Обмоточная область
2256,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(2, 0), 1)
mi_addcircprop("Обмотка якоря", complex(3, 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),
    (80, 0, 0),
    (79.561751629461867, 8.3622770614122786, 0),
    (73.083636611408068, 32.538931446064019, 0),
    (69.282032302755098, 39.999999999999993, 0),
    (64.721359549995796, 47.022820183397855, 0),
    (57.547184027092094, 55.57266963671978, 0),
    (47.022820183397855, 64.721359549995796, 0),
    (44.73543227765974, 66.323005804403337, 0),
    (32.538931446064019, 73.083636611408068, 0),
    (8.3622770614122768, 79.561751629461867, 0),
    (4.898425415289509e-15, 80, 0),
    (-8.3622770614122839, 79.561751629461867, 0),
    (-32.538931446064019, 73.083636611408068, 0),
    (-44.735432277659733, 66.323005804403337, 0),
    (-47.02282018339784, 64.721359549995796, 0),
    (-57.547184027092094, 55.572669636719773, 0),
    (-64.721359549995782, 47.022820183397862, 0),
    (-69.282032302755098, 39.999999999999993, 0),
    (-73.083636611408053, 32.538931446064034, 0),
    (-79.561751629461867, 8.3622770614122981, 0),
    (-80, 9.7968508305790181e-15, 0),
    (-79.561751629461867, -8.3622770614122803, 0),
    (-73.083636611408068, -32.538931446064019, 0),
    (-69.282032302755084, -40.000000000000007, 0),
    (-64.72135954999581, -47.02282018339784, 0),
    (-57.547184027092086, -55.572669636719787, 0),
    (-47.022820183397862, -64.721359549995782, 0),
    (-44.735432277659726, -66.323005804403351, 0),
    (-32.538931446064005, -73.083636611408082, 0),
    (-8.3622770614122679, -79.561751629461867, 0),
    (-1.4695276245868527e-14, -80, 0),
    (8.3622770614122395, -79.561751629461867, 0),
    (32.538931446063984, -73.083636611408082, 0),
    (44.735432277659761, -66.323005804403323, 0),
    (47.022820183397833, -64.72135954999581, 0),
    (57.547184027092072, -55.572669636719809, 0),
    (64.721359549995782, -47.022820183397869, 0),
    (69.28203230275507, -40.000000000000036, 0),
    (73.083636611408082, -32.538931446064012, 0),
    (79.561751629461867, -8.3622770614122732, 0),
    (100, 0, 0),
    (99.452189536827333, 10.452846326765346, 0),
    (91.354545764260081, 40.673664307580019, 0),
    (86.602540378443877, 49.999999999999993, 0),
    (80.901699437494742, 58.778525229247315, 0),
    (71.933980033865126, 69.465837045899718, 0),
    (58.778525229247315, 80.901699437494742, 0),
    (55.919290347074678, 82.903757255504175, 0),
    (40.673664307580019, 91.354545764260081, 0),
    (10.452846326765346, 99.452189536827333, 0),
    (6.1230317691118863e-15, 100, 0),
    (-10.452846326765355, 99.452189536827333, 0),
    (-40.673664307580026, 91.354545764260081, 0),
    (-55.919290347074671, 82.903757255504175, 0),
    (-58.7785252292473, 80.901699437494742, 0),
    (-71.933980033865126, 69.465837045899718, 0),
    (-80.901699437494727, 58.778525229247322, 0),
    (-86.602540378443877, 49.999999999999993, 0),
    (-91.354545764260081, 40.67366430758004, 0),
    (-99.452189536827333, 10.452846326765373, 0),
    (-100, 1.2246063538223773e-14, 0),
    (-99.452189536827333, -10.45284632676535, 0),
    (-91.354545764260081, -40.673664307580019, 0),
    (-86.602540378443862, -50.000000000000014, 0),
    (-80.901699437494756, -58.7785252292473, 0),
    (-71.933980033865112, -69.465837045899733, 0),
    (-58.778525229247322, -80.901699437494727, 0),
    (-55.919290347074657, -82.903757255504189, 0),
    (-40.673664307580012, -91.354545764260095, 0),
    (-10.452846326765336, -99.452189536827333, 0),
    (-1.8369095307335659e-14, -100, 0),
    (10.452846326765298, -99.452189536827333, 0),
    (40.673664307579976, -91.354545764260109, 0),
    (55.9192903470747, -82.903757255504161, 0),
    (58.778525229247293, -80.901699437494756, 0),
    (71.933980033865083, -69.465837045899761, 0),
    (80.901699437494727, -58.778525229247336, 0),
    (86.602540378443834, -50.000000000000043, 0),
    (91.354545764260095, -40.673664307580012, 0),
    (99.452189536827333, -10.452846326765341, 0),
    (18, 0, 2),
    (17.901394116628918, 1.8815123388177626, 2),
    (16.443818237566816, 7.3212595753644036, 2),
    (15.588457268119896, 8.9999999999999982, 2),
    (14.562305898749054, 10.580134541264517, 2),
    (12.948116406095721, 12.503850668261951, 2),
    (10.580134541264517, 14.562305898749054, 2),
    (10.065472262473442, 14.922676305990752, 2),
    (7.3212595753644036, 16.443818237566816, 2),
    (1.8815123388177621, 17.901394116628918, 2),
    (1.1021457184401395e-15, 18, 2),
    (-1.8815123388177639, 17.901394116628918, 2),
    (-7.3212595753644045, 16.443818237566816, 2),
    (-10.06547226247344, 14.922676305990752, 2),
    (-10.580134541264515, 14.562305898749054, 2),
    (-12.948116406095721, 12.503850668261949, 2),
    (-14.562305898749052, 10.580134541264519, 2),
    (-15.588457268119896, 8.9999999999999982, 2),
    (-16.443818237566813, 7.3212595753644081, 2),
    (-17.901394116628918, 1.8815123388177672, 2),
    (-18, 2.2042914368802791e-15, 2),
    (-17.901394116628918, -1.881512338817763, 2),
    (-16.443818237566816, -7.3212595753644036, 2),
    (-15.588457268119894, -9.0000000000000018, 2),
    (-14.562305898749056, -10.580134541264515, 2),
    (-12.948116406095719, -12.503850668261952, 2),
    (-10.580134541264519, -14.562305898749052, 2),
    (-10.065472262473438, -14.922676305990754, 2),
    (-7.3212595753644019, -16.443818237566816, 2),
    (-1.8815123388177604, -17.901394116628921, 2),
    (-3.3064371553204186e-15, -18, 2),
    (1.8815123388177537, -17.901394116628921, 2),
    (7.3212595753643956, -16.44381823756682, 2),
    (10.065472262473445, -14.922676305990748, 2),
    (10.580134541264513, -14.562305898749056, 2),
    (12.948116406095716, -12.503850668261956, 2),
    (14.562305898749052, -10.58013454126452, 2),
    (15.588457268119891, -9.0000000000000071, 2),
    (16.443818237566816, -7.3212595753644027, 2),
    (17.901394116628918, -1.8815123388177615, 2),
    (58, 0, 2),
    (57.682269931359848, 6.0626508695239014, 2),
    (52.98563654327085, 23.590725298396411, 2),
    (50.229473419497445, 28.999999999999996, 2),
    (46.92298567374695, 34.091544632963441, 2),
    (41.721708419641772, 40.290185486621837, 2),
    (34.091544632963441, 46.92298567374695, 2),
    (32.433188401303312, 48.084179208192424, 2),
    (23.590725298396411, 52.98563654327085, 2),
    (6.0626508695239005, 57.682269931359848, 2),
    (3.551358426084894e-15, 58, 2),
    (-6.0626508695239059, 57.682269931359848, 2),
    (-23.590725298396414, 52.98563654327085, 2),
    (-32.433188401303305, 48.084179208192424, 2),
    (-34.091544632963434, 46.92298567374695, 2),
    (-41.721708419641772, 40.290185486621837, 2),
    (-46.922985673746943, 34.091544632963448, 2),
    (-50.229473419497445, 28.999999999999996, 2),
    (-52.985636543270843, 23.590725298396425, 2),
    (-57.682269931359848, 6.0626508695239165, 2),
    (-58, 7.1027168521697881e-15, 2),
    (-57.682269931359848, -6.0626508695239032, 2),
    (-52.98563654327085, -23.590725298396411, 2),
    (-50.229473419497438, -29.000000000000007, 2),
    (-46.922985673746958, -34.091544632963434, 2),
    (-41.721708419641764, -40.290185486621844, 2),
    (-34.091544632963448, -46.922985673746943, 2),
    (-32.433188401303298, -48.084179208192424, 2),
    (-23.590725298396407, -52.985636543270857, 2),
    (-6.0626508695238952, -57.682269931359855, 2),
    (-1.0654075278254682e-14, -58, 2),
    (6.062650869523873, -57.682269931359855, 2),
    (23.590725298396386, -52.985636543270864, 2),
    (32.433188401303326, -48.084179208192417, 2),
    (34.091544632963426, -46.922985673746958, 2),
    (41.72170841964175, -40.290185486621859, 2),
    (46.922985673746943, -34.091544632963455, 2),
    (50.229473419497424, -29.000000000000025, 2),
    (52.985636543270857, -23.590725298396407, 2),
    (57.682269931359848, -6.0626508695238979, 2),
    (51.961524227066306, -30.000000000000028, 0),
    (54.812727458556061, -24.404198584548009, 0),
    (59.6713137220964, -6.2717077960592054, 0),
    (60, -1.4695276245868527e-14, 0),
    (59.671313722096407, 6.2717077960591761, 0),
    (54.812727458556047, 24.40419858454803, 0),
    (51.961524227066313, 30, 0),
    (-51.96152422706632, 29.999999999999996, 0),
    (-54.812727458556047, 24.404198584548027, 0),
    (-59.6713137220964, 6.271707796059224, 0),
    (-60, 7.3476381229342635e-15, 0),
    (-59.6713137220964, -6.2717077960592098, 0),
    (-54.812727458556054, -24.404198584548013, 0),
    (-51.961524227066313, -30.000000000000007, 0),
    (46.757087022012328, 45.15279407983482, 0),
    (38.206041399010751, 52.586104634371587, 0),
    (36.34753872559854, 53.887442216077716, 0),
    (55.389164626076145, 53.488694525342787, 0),
    (45.259464426520431, 62.294308566870953, 0),
    (43.057853567247506, 63.835893086738217, 0),
    (-36.347538725598532, 53.887442216077716, 0),
    (-38.206041399010743, 52.586104634371587, 0),
    (-46.757087022012328, 45.152794079834813, 0),
    (-43.057853567247491, 63.835893086738217, 0),
    (-45.259464426520424, 62.294308566870953, 0),
    (-55.389164626076145, 53.48869452534278, 0),
    (-46.757087022012321, -45.152794079834827, 0),
    (-38.206041399010758, -52.58610463437158, 0),
    (-36.347538725598525, -53.887442216077723, 0),
    (-55.389164626076131, -53.488694525342794, 0),
    (-45.259464426520438, -62.294308566870946, 0),
    (-43.057853567247484, -63.835893086738224, 0),
    (36.347538725598554, -53.887442216077709, 0),
    (38.206041399010736, -52.586104634371594, 0),
    (46.757087022012307, -45.152794079834841, 0),
    (43.05785356724752, -63.835893086738203, 0),
    (45.259464426520417, -62.29430856687096, 0),
    (55.389164626076116, -53.488694525342815, 0),
    (42.764441500835751, -4.494723920509097, 2),
    (43, -1.0531614642872444e-14, 2),
    (42.764441500835758, 4.4947239205090757, 2),
    (39.282454678631836, 17.489675652259407, 2),
    (37.239092362730865, 21.499999999999996, 2),
    (34.787730758122741, 25.274765848576344, 2),
    (25.274765848576344, 34.787730758122741, 2),
    (24.045294849242111, 35.648615619866796, 2),
    (17.489675652259407, 39.282454678631836, 2),
    (4.4947239205090987, 42.764441500835751, 2),
    (2.6329036607181111e-15, 43, 2),
    (-4.4947239205091032, 42.764441500835751, 2),
    (-17.489675652259411, 39.282454678631836, 2),
    (-24.045294849242108, 35.648615619866796, 2),
    (-25.27476584857634, 34.787730758122741, 2),
    (-34.787730758122734, 25.274765848576351, 2),
    (-37.239092362730865, 21.499999999999996, 2),
    (-39.282454678631829, 17.489675652259418, 2),
    (-42.764441500835751, 4.4947239205091103, 2),
    (-43, 5.2658073214362222e-15, 2),
    (-42.764441500835751, -4.4947239205091005, 2),
    (-39.282454678631836, -17.489675652259407, 2),
    (-37.239092362730858, -21.500000000000004, 2),
    (-34.787730758122748, -25.27476584857634, 2),
    (-25.274765848576351, -34.787730758122734, 2),
    (-24.045294849242104, -35.648615619866803, 2),
    (-17.489675652259404, -39.282454678631844, 2),
    (-4.4947239205090943, -42.764441500835758, 2),
    (-7.8987109821543333e-15, -43, 2),
    (4.4947239205090783, -42.764441500835758, 2),
    (17.48967565225939, -39.282454678631844, 2),
    (24.045294849242122, -35.648615619866789, 2),
    (25.274765848576337, -34.787730758122748, 2),
    (34.787730758122734, -25.274765848576354, 2),
    (37.239092362730851, -21.500000000000018, 2),
    (39.282454678631844, -17.489675652259407, 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),
    (164, 41, -1, "", 0, 0),
    (170, 7, -1, "", 0, 0),
    (171, 21, -1, "", 0, 0),
    (177, 27, -1, "", 0, 0),
    (178, 181, -1, "", 0, 0),
    (180, 183, -1, "", 0, 0),
    (184, 187, -1, "", 0, 0),
    (186, 189, -1, "", 0, 0),
    (190, 193, -1, "", 0, 0),
    (192, 195, -1, "", 0, 0),
    (196, 199, -1, "", 0, 0),
    (198, 201, -1, "", 0, 0),
    (202, 163, -1, "", 0, 2),
    (204, 125, -1, "", 0, 2),
    (205, 126, -1, "", 0, 2),
    (207, 128, -1, "", 0, 2),
    (208, 130, -1, "", 0, 2),
    (210, 132, -1, "", 0, 2),
    (211, 133, -1, "", 0, 2),
    (213, 135, -1, "", 0, 2),
    (214, 136, -1, "", 0, 2),
    (216, 138, -1, "", 0, 2),
    (217, 140, -1, "", 0, 2),
    (219, 142, -1, "", 0, 2),
    (220, 143, -1, "", 0, 2),
    (222, 145, -1, "", 0, 2),
    (223, 146, -1, "", 0, 2),
    (225, 148, -1, "", 0, 2),
    (226, 150, -1, "", 0, 2),
    (228, 152, -1, "", 0, 2),
    (229, 153, -1, "", 0, 2),
    (231, 155, -1, "", 0, 2),
    (232, 156, -1, "", 0, 2),
    (234, 158, -1, "", 0, 2),
    (235, 160, -1, "", 0, 2),
    (237, 162, -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, 6, 10, "", 0, 0),
    (5, 6, 18, 10, "", 0, 0),
    (6, 7, 6, 10, "", 0, 0),
    (7, 8, 6, 10, "", 0, 0),
    (8, 9, 8, 10, "", 0, 0),
    (9, 10, 10, 10, "", 0, 0),
    (10, 11, 2, 10, "", 0, 0),
    (11, 12, 10, 10, "", 0, 0),
    (12, 13, 18, 10, "", 0, 0),
    (13, 14, 6, 10, "", 0, 0),
    (14, 15, 6, 10, "", 0, 0),
    (15, 16, 18, 10, "", 0, 0),
    (16, 17, 10, 10, "", 0, 0),
    (17, 18, 2, 10, "", 0, 0),
    (18, 19, 10, 10, "", 0, 0),
    (19, 20, 8, 10, "", 0, 0),
    (20, 21, 6, 10, "", 0, 0),
    (21, 22, 6, 10, "", 0, 0),
    (22, 23, 18, 10, "", 0, 0),
    (23, 24, 6, 10, "", 0, 0),
    (24, 25, 6, 10, "", 0, 0),
    (25, 26, 18, 10, "", 0, 0),
    (26, 27, 6, 10, "", 0, 0),
    (27, 28, 6, 10, "", 0, 0),
    (28, 29, 8, 10, "", 0, 0),
    (29, 30, 10, 10, "", 0, 0),
    (30, 31, 2, 10, "", 0, 0),
    (31, 32, 10, 10, "", 0, 0),
    (32, 33, 18, 10, "", 0, 0),
    (33, 34, 6, 10, "", 0, 0),
    (34, 35, 6, 10, "", 0, 0),
    (35, 36, 18, 10, "", 0, 0),
    (36, 37, 10, 10, "", 0, 0),
    (37, 38, 2, 10, "", 0, 0),
    (38, 39, 10, 10, "", 0, 0),
    (39, 40, 8, 10, "", 0, 0),
    (40, 41, 6, 10, "", 0, 0),
    (41, 42, 6, 10, "", 0, 0),
    (42, 43, 18, 10, "", 0, 0),
    (43, 4, 6, 10, "", 0, 0),
    (44, 45, 6, 10, "", 0, 0),
    (45, 46, 18, 10, "", 0, 0),
    (46, 47, 6, 10, "", 0, 0),
    (47, 48, 6, 10, "", 0, 0),
    (48, 49, 8, 10, "", 0, 0),
    (49, 50, 10, 10, "", 0, 0),
    (50, 51, 2, 10, "", 0, 0),
    (51, 52, 10, 10, "", 0, 0),
    (52, 53, 18, 10, "", 0, 0),
    (53, 54, 6, 10, "", 0, 0),
    (54, 55, 6, 10, "", 0, 0),
    (55, 56, 18, 10, "", 0, 0),
    (56, 57, 10, 10, "", 0, 0),
    (57, 58, 2, 10, "", 0, 0),
    (58, 59, 10, 10, "", 0, 0),
    (59, 60, 8, 10, "", 0, 0),
    (60, 61, 6, 10, "", 0, 0),
    (61, 62, 6, 10, "", 0, 0),
    (62, 63, 18, 10, "", 0, 0),
    (63, 64, 6, 10, "", 0, 0),
    (64, 65, 6, 10, "", 0, 0),
    (65, 66, 18, 10, "", 0, 0),
    (66, 67, 6, 10, "", 0, 0),
    (67, 68, 6, 10, "", 0, 0),
    (68, 69, 8, 10, "", 0, 0),
    (69, 70, 10, 10, "", 0, 0),
    (70, 71, 2, 10, "", 0, 0),
    (71, 72, 10, 10, "", 0, 0),
    (72, 73, 18, 10, "", 0, 0),
    (73, 74, 6, 10, "", 0, 0),
    (74, 75, 6, 10, "", 0, 0),
    (75, 76, 18, 10, "", 0, 0),
    (76, 77, 10, 10, "", 0, 0),
    (77, 78, 2, 10, "", 0, 0),
    (78, 79, 10, 10, "", 0, 0),
    (79, 80, 8, 10, "", 0, 0),
    (80, 81, 6, 10, "", 0, 0),
    (81, 82, 6, 10, "", 0, 0),
    (82, 83, 18, 10, "", 0, 0),
    (83, 44, 6, 10, "", 0, 0),
    (84, 85, 6, 10, "", 0, 2),
    (85, 86, 18, 10, "", 0, 2),
    (86, 87, 6, 10, "", 0, 2),
    (87, 88, 6, 10, "", 0, 2),
    (88, 89, 8, 10, "", 0, 2),
    (89, 90, 10, 10, "", 0, 2),
    (90, 91, 2, 10, "", 0, 2),
    (91, 92, 10, 10, "", 0, 2),
    (92, 93, 18, 10, "", 0, 2),
    (93, 94, 6, 10, "", 0, 2),
    (94, 95, 6, 10, "", 0, 2),
    (95, 96, 18, 10, "", 0, 2),
    (96, 97, 10, 10, "", 0, 2),
    (97, 98, 2, 10, "", 0, 2),
    (98, 99, 10, 10, "", 0, 2),
    (99, 100, 8, 10, "", 0, 2),
    (100, 101, 6, 10, "", 0, 2),
    (101, 102, 6, 10, "", 0, 2),
    (102, 103, 18, 10, "", 0, 2),
    (103, 104, 6, 10, "", 0, 2),
    (104, 105, 6, 10, "", 0, 2),
    (105, 106, 18, 10, "", 0, 2),
    (106, 107, 6, 10, "", 0, 2),
    (107, 108, 6, 10, "", 0, 2),
    (108, 109, 8, 10, "", 0, 2),
    (109, 110, 10, 10, "", 0, 2),
    (110, 111, 2, 10, "", 0, 2),
    (111, 112, 10, 10, "", 0, 2),
    (112, 113, 18, 10, "", 0, 2),
    (113, 114, 6, 10, "", 0, 2),
    (114, 115, 6, 10, "", 0, 2),
    (115, 116, 18, 10, "", 0, 2),
    (116, 117, 10, 10, "", 0, 2),
    (117, 118, 2, 10, "", 0, 2),
    (118, 119, 10, 10, "", 0, 2),
    (119, 120, 8, 10, "", 0, 2),
    (120, 121, 6, 10, "", 0, 2),
    (121, 122, 6, 10, "", 0, 2),
    (122, 123, 18, 10, "", 0, 2),
    (123, 84, 6, 10, "", 0, 2),
    (124, 125, 6, 10, "", 0, 2),
    (125, 126, 18, 10, "", 0, 2),
    (126, 127, 6, 10, "", 0, 2),
    (127, 128, 6, 10, "", 0, 2),
    (128, 129, 8, 10, "", 0, 2),
    (129, 130, 10, 10, "", 0, 2),
    (130, 131, 2, 10, "", 0, 2),
    (131, 132, 10, 10, "", 0, 2),
    (132, 133, 18, 10, "", 0, 2),
    (133, 134, 6, 10, "", 0, 2),
    (134, 135, 6, 10, "", 0, 2),
    (135, 136, 18, 10, "", 0, 2),
    (136, 137, 10, 10, "", 0, 2),
    (137, 138, 2, 10, "", 0, 2),
    (138, 139, 10, 10, "", 0, 2),
    (139, 140, 8, 10, "", 0, 2),
    (140, 141, 6, 10, "", 0, 2),
    (141, 142, 6, 10, "", 0, 2),
    (142, 143, 18, 10, "", 0, 2),
    (143, 144, 6, 10, "", 0, 2),
    (144, 145, 6, 10, "", 0, 2),
    (145, 146, 18, 10, "", 0, 2),
    (146, 147, 6, 10, "", 0, 2),
    (147, 148, 6, 10, "", 0, 2),
    (148, 149, 8, 10, "", 0, 2),
    (149, 150, 10, 10, "", 0, 2),
    (150, 151, 2, 10, "", 0, 2),
    (151, 152, 10, 10, "", 0, 2),
    (152, 153, 18, 10, "", 0, 2),
    (153, 154, 6, 10, "", 0, 2),
    (154, 155, 6, 10, "", 0, 2),
    (155, 156, 18, 10, "", 0, 2),
    (156, 157, 10, 10, "", 0, 2),
    (157, 158, 2, 10, "", 0, 2),
    (158, 159, 10, 10, "", 0, 2),
    (159, 160, 8, 10, "", 0, 2),
    (160, 161, 6, 10, "", 0, 2),
    (161, 162, 6, 10, "", 0, 2),
    (162, 163, 18, 10, "", 0, 2),
    (163, 124, 6, 10, "", 0, 2),
    (164, 165, 6, 10, "", 0, 0),
    (165, 166, 18, 10, "", 0, 0),
    (166, 167, 6, 10, "", 0, 0),
    (167, 168, 6, 10, "", 0, 0),
    (168, 169, 18, 10, "", 0, 0),
    (169, 170, 6, 10, "", 0, 0),
    (171, 172, 6, 10, "", 0, 0),
    (172, 173, 18, 10, "", 0, 0),
    (173, 174, 6, 10, "", 0, 0),
    (174, 175, 6, 10, "", 0, 0),
    (175, 176, 18, 10, "", 0, 0),
    (176, 177, 6, 10, "", 0, 0),
    (178, 179, 10, 10, "", 0, 0),
    (179, 180, 2, 10, "", 0, 0),
    (181, 182, 10, 10, "", 0, 0),
    (182, 183, 2, 10, "", 0, 0),
    (184, 185, 2, 10, "", 0, 0),
    (185, 186, 10, 10, "", 0, 0),
    (187, 188, 2, 10, "", 0, 0),
    (188, 189, 10, 10, "", 0, 0),
    (190, 191, 10, 10, "", 0, 0),
    (191, 192, 2, 10, "", 0, 0),
    (193, 194, 10, 10, "", 0, 0),
    (194, 195, 2, 10, "", 0, 0),
    (196, 197, 2, 10, "", 0, 0),
    (197, 198, 10, 10, "", 0, 0),
    (199, 200, 2, 10, "", 0, 0),
    (200, 201, 10, 10, "", 0, 0),
    (202, 203, 6, 10, "", 0, 2),
    (203, 204, 6, 10, "", 0, 2),
    (205, 206, 6, 10, "", 0, 2),
    (206, 207, 6, 10, "", 0, 2),
    (208, 209, 2, 10, "", 0, 2),
    (209, 210, 10, 10, "", 0, 2),
    (211, 212, 6, 10, "", 0, 2),
    (212, 213, 6, 10, "", 0, 2),
    (214, 215, 10, 10, "", 0, 2),
    (215, 216, 2, 10, "", 0, 2),
    (217, 218, 6, 10, "", 0, 2),
    (218, 219, 6, 10, "", 0, 2),
    (220, 221, 6, 10, "", 0, 2),
    (221, 222, 6, 10, "", 0, 2),
    (223, 224, 6, 10, "", 0, 2),
    (224, 225, 6, 10, "", 0, 2),
    (226, 227, 2, 10, "", 0, 2),
    (227, 228, 10, 10, "", 0, 2),
    (229, 230, 6, 10, "", 0, 2),
    (230, 231, 6, 10, "", 0, 2),
    (232, 233, 10, 10, "", 0, 2),
    (233, 234, 2, 10, "", 0, 2),
    (235, 236, 6, 10, "", 0, 2),
    (236, 237, 6, 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, 92, "", 0, "", 0, 0, 1),
    (30, 0, "", 0, "", 0, 0, 1),
    (0, 0, "", 0, "", 0, 0, 1),
    (70, 0, "", 0, "", 0, 0, 1),
    (-70, 8.5722444767566408e-15, "", 0, "", 0, 0, 1),
    (45.637920287744294, 54.389155461447437, "", 0, "", 0, 0, 1),
    (-45.637920287744294, 54.389155461447437, "", 0, "", 0, 0, 1),
    (-45.637920287744301, -54.38915546144743, "", 0, "", 0, 0, 1),
    (45.637920287744286, -54.389155461447444, "", 0, "", 0, 0, 1),
    (50, 0, "", 0, "", 0, 0, 1),
    (43.301270189221938, 24.999999999999996, "", 0, "", 0, 0, 1),
    (25.000000000000007, 43.301270189221931, "", 0, "", 0, 0, 1),
    (3.0615158845559431e-15, 50, "", 0, "", 0, 0, 1),
    (-24.999999999999989, 43.301270189221938, "", 0, "", 0, 0, 1),
    (-43.301270189221938, 24.999999999999996, "", 0, "", 0, 0, 1),
    (-50, 6.1230317691118863e-15, "", 0, "", 0, 0, 1),
    (-43.301270189221931, -25.000000000000007, "", 0, "", 0, 0, 1),
    (-25.000000000000021, -43.301270189221917, "", 0, "", 0, 0, 1),
    (-9.1845476536678294e-15, -50, "", 0, "", 0, 0, 1),
    (25.000000000000007, -43.301270189221931, "", 0, "", 0, 0, 1),
    (43.301270189221917, -25.000000000000021, "", 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: Метки замкнутых областей.
Рисунок 27.25. Машина постоянного тока. Шаг 7: Метки замкнутых областей. Открыть в полном размере

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

Этап 8 из 11

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

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

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

Таблица 27.26. Материалы, цепи и витки каждой области
№x или r, ммy или z, ммМатериалЦепьВитки со знакомНамагничиваниеГруппа
0144,5144,5ВоздухНет10^\circ0
1092Линейная стальНет10^\circ0
2300Линейная стальНет10^\circ2
300ВоздухНет10^\circ2
4700Линейная стальНет10^\circ0
5-700Линейная стальНет10^\circ0
645,6454,39Обмоточная областьОбмотка возбуждения-2000^\circ0
7-45,6454,39Обмоточная областьОбмотка возбуждения-2000^\circ0
8-45,64-54,39Обмоточная областьОбмотка возбуждения2000^\circ0
945,64-54,39Обмоточная областьОбмотка возбуждения2000^\circ0
10500Обмоточная областьОбмотка якоря500^\circ2
1143,325Обмоточная областьОбмотка якоря500^\circ2
122543,3Обмоточная областьОбмотка якоря500^\circ2
13050Обмоточная областьОбмотка якоря500^\circ2
14-2543,3Обмоточная областьОбмотка якоря500^\circ2
15-43,325Обмоточная областьОбмотка якоря500^\circ2
16-500Обмоточная областьОбмотка якоря-500^\circ2
17-43,3-25Обмоточная областьОбмотка якоря-500^\circ2
18-25-43,3Обмоточная областьОбмотка якоря-500^\circ2
190-50Обмоточная областьОбмотка якоря-500^\circ2
2025-43,3Обмоточная областьОбмотка якоря-500^\circ2
2143,3-25Обмоточная областьОбмотка якоря-500^\circ2
2256,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(2, 0), 1)
mi_addcircprop("Обмотка якоря", complex(3, 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),
    (80, 0, 0),
    (79.561751629461867, 8.3622770614122786, 0),
    (73.083636611408068, 32.538931446064019, 0),
    (69.282032302755098, 39.999999999999993, 0),
    (64.721359549995796, 47.022820183397855, 0),
    (57.547184027092094, 55.57266963671978, 0),
    (47.022820183397855, 64.721359549995796, 0),
    (44.73543227765974, 66.323005804403337, 0),
    (32.538931446064019, 73.083636611408068, 0),
    (8.3622770614122768, 79.561751629461867, 0),
    (4.898425415289509e-15, 80, 0),
    (-8.3622770614122839, 79.561751629461867, 0),
    (-32.538931446064019, 73.083636611408068, 0),
    (-44.735432277659733, 66.323005804403337, 0),
    (-47.02282018339784, 64.721359549995796, 0),
    (-57.547184027092094, 55.572669636719773, 0),
    (-64.721359549995782, 47.022820183397862, 0),
    (-69.282032302755098, 39.999999999999993, 0),
    (-73.083636611408053, 32.538931446064034, 0),
    (-79.561751629461867, 8.3622770614122981, 0),
    (-80, 9.7968508305790181e-15, 0),
    (-79.561751629461867, -8.3622770614122803, 0),
    (-73.083636611408068, -32.538931446064019, 0),
    (-69.282032302755084, -40.000000000000007, 0),
    (-64.72135954999581, -47.02282018339784, 0),
    (-57.547184027092086, -55.572669636719787, 0),
    (-47.022820183397862, -64.721359549995782, 0),
    (-44.735432277659726, -66.323005804403351, 0),
    (-32.538931446064005, -73.083636611408082, 0),
    (-8.3622770614122679, -79.561751629461867, 0),
    (-1.4695276245868527e-14, -80, 0),
    (8.3622770614122395, -79.561751629461867, 0),
    (32.538931446063984, -73.083636611408082, 0),
    (44.735432277659761, -66.323005804403323, 0),
    (47.022820183397833, -64.72135954999581, 0),
    (57.547184027092072, -55.572669636719809, 0),
    (64.721359549995782, -47.022820183397869, 0),
    (69.28203230275507, -40.000000000000036, 0),
    (73.083636611408082, -32.538931446064012, 0),
    (79.561751629461867, -8.3622770614122732, 0),
    (100, 0, 0),
    (99.452189536827333, 10.452846326765346, 0),
    (91.354545764260081, 40.673664307580019, 0),
    (86.602540378443877, 49.999999999999993, 0),
    (80.901699437494742, 58.778525229247315, 0),
    (71.933980033865126, 69.465837045899718, 0),
    (58.778525229247315, 80.901699437494742, 0),
    (55.919290347074678, 82.903757255504175, 0),
    (40.673664307580019, 91.354545764260081, 0),
    (10.452846326765346, 99.452189536827333, 0),
    (6.1230317691118863e-15, 100, 0),
    (-10.452846326765355, 99.452189536827333, 0),
    (-40.673664307580026, 91.354545764260081, 0),
    (-55.919290347074671, 82.903757255504175, 0),
    (-58.7785252292473, 80.901699437494742, 0),
    (-71.933980033865126, 69.465837045899718, 0),
    (-80.901699437494727, 58.778525229247322, 0),
    (-86.602540378443877, 49.999999999999993, 0),
    (-91.354545764260081, 40.67366430758004, 0),
    (-99.452189536827333, 10.452846326765373, 0),
    (-100, 1.2246063538223773e-14, 0),
    (-99.452189536827333, -10.45284632676535, 0),
    (-91.354545764260081, -40.673664307580019, 0),
    (-86.602540378443862, -50.000000000000014, 0),
    (-80.901699437494756, -58.7785252292473, 0),
    (-71.933980033865112, -69.465837045899733, 0),
    (-58.778525229247322, -80.901699437494727, 0),
    (-55.919290347074657, -82.903757255504189, 0),
    (-40.673664307580012, -91.354545764260095, 0),
    (-10.452846326765336, -99.452189536827333, 0),
    (-1.8369095307335659e-14, -100, 0),
    (10.452846326765298, -99.452189536827333, 0),
    (40.673664307579976, -91.354545764260109, 0),
    (55.9192903470747, -82.903757255504161, 0),
    (58.778525229247293, -80.901699437494756, 0),
    (71.933980033865083, -69.465837045899761, 0),
    (80.901699437494727, -58.778525229247336, 0),
    (86.602540378443834, -50.000000000000043, 0),
    (91.354545764260095, -40.673664307580012, 0),
    (99.452189536827333, -10.452846326765341, 0),
    (18, 0, 2),
    (17.901394116628918, 1.8815123388177626, 2),
    (16.443818237566816, 7.3212595753644036, 2),
    (15.588457268119896, 8.9999999999999982, 2),
    (14.562305898749054, 10.580134541264517, 2),
    (12.948116406095721, 12.503850668261951, 2),
    (10.580134541264517, 14.562305898749054, 2),
    (10.065472262473442, 14.922676305990752, 2),
    (7.3212595753644036, 16.443818237566816, 2),
    (1.8815123388177621, 17.901394116628918, 2),
    (1.1021457184401395e-15, 18, 2),
    (-1.8815123388177639, 17.901394116628918, 2),
    (-7.3212595753644045, 16.443818237566816, 2),
    (-10.06547226247344, 14.922676305990752, 2),
    (-10.580134541264515, 14.562305898749054, 2),
    (-12.948116406095721, 12.503850668261949, 2),
    (-14.562305898749052, 10.580134541264519, 2),
    (-15.588457268119896, 8.9999999999999982, 2),
    (-16.443818237566813, 7.3212595753644081, 2),
    (-17.901394116628918, 1.8815123388177672, 2),
    (-18, 2.2042914368802791e-15, 2),
    (-17.901394116628918, -1.881512338817763, 2),
    (-16.443818237566816, -7.3212595753644036, 2),
    (-15.588457268119894, -9.0000000000000018, 2),
    (-14.562305898749056, -10.580134541264515, 2),
    (-12.948116406095719, -12.503850668261952, 2),
    (-10.580134541264519, -14.562305898749052, 2),
    (-10.065472262473438, -14.922676305990754, 2),
    (-7.3212595753644019, -16.443818237566816, 2),
    (-1.8815123388177604, -17.901394116628921, 2),
    (-3.3064371553204186e-15, -18, 2),
    (1.8815123388177537, -17.901394116628921, 2),
    (7.3212595753643956, -16.44381823756682, 2),
    (10.065472262473445, -14.922676305990748, 2),
    (10.580134541264513, -14.562305898749056, 2),
    (12.948116406095716, -12.503850668261956, 2),
    (14.562305898749052, -10.58013454126452, 2),
    (15.588457268119891, -9.0000000000000071, 2),
    (16.443818237566816, -7.3212595753644027, 2),
    (17.901394116628918, -1.8815123388177615, 2),
    (58, 0, 2),
    (57.682269931359848, 6.0626508695239014, 2),
    (52.98563654327085, 23.590725298396411, 2),
    (50.229473419497445, 28.999999999999996, 2),
    (46.92298567374695, 34.091544632963441, 2),
    (41.721708419641772, 40.290185486621837, 2),
    (34.091544632963441, 46.92298567374695, 2),
    (32.433188401303312, 48.084179208192424, 2),
    (23.590725298396411, 52.98563654327085, 2),
    (6.0626508695239005, 57.682269931359848, 2),
    (3.551358426084894e-15, 58, 2),
    (-6.0626508695239059, 57.682269931359848, 2),
    (-23.590725298396414, 52.98563654327085, 2),
    (-32.433188401303305, 48.084179208192424, 2),
    (-34.091544632963434, 46.92298567374695, 2),
    (-41.721708419641772, 40.290185486621837, 2),
    (-46.922985673746943, 34.091544632963448, 2),
    (-50.229473419497445, 28.999999999999996, 2),
    (-52.985636543270843, 23.590725298396425, 2),
    (-57.682269931359848, 6.0626508695239165, 2),
    (-58, 7.1027168521697881e-15, 2),
    (-57.682269931359848, -6.0626508695239032, 2),
    (-52.98563654327085, -23.590725298396411, 2),
    (-50.229473419497438, -29.000000000000007, 2),
    (-46.922985673746958, -34.091544632963434, 2),
    (-41.721708419641764, -40.290185486621844, 2),
    (-34.091544632963448, -46.922985673746943, 2),
    (-32.433188401303298, -48.084179208192424, 2),
    (-23.590725298396407, -52.985636543270857, 2),
    (-6.0626508695238952, -57.682269931359855, 2),
    (-1.0654075278254682e-14, -58, 2),
    (6.062650869523873, -57.682269931359855, 2),
    (23.590725298396386, -52.985636543270864, 2),
    (32.433188401303326, -48.084179208192417, 2),
    (34.091544632963426, -46.922985673746958, 2),
    (41.72170841964175, -40.290185486621859, 2),
    (46.922985673746943, -34.091544632963455, 2),
    (50.229473419497424, -29.000000000000025, 2),
    (52.985636543270857, -23.590725298396407, 2),
    (57.682269931359848, -6.0626508695238979, 2),
    (51.961524227066306, -30.000000000000028, 0),
    (54.812727458556061, -24.404198584548009, 0),
    (59.6713137220964, -6.2717077960592054, 0),
    (60, -1.4695276245868527e-14, 0),
    (59.671313722096407, 6.2717077960591761, 0),
    (54.812727458556047, 24.40419858454803, 0),
    (51.961524227066313, 30, 0),
    (-51.96152422706632, 29.999999999999996, 0),
    (-54.812727458556047, 24.404198584548027, 0),
    (-59.6713137220964, 6.271707796059224, 0),
    (-60, 7.3476381229342635e-15, 0),
    (-59.6713137220964, -6.2717077960592098, 0),
    (-54.812727458556054, -24.404198584548013, 0),
    (-51.961524227066313, -30.000000000000007, 0),
    (46.757087022012328, 45.15279407983482, 0),
    (38.206041399010751, 52.586104634371587, 0),
    (36.34753872559854, 53.887442216077716, 0),
    (55.389164626076145, 53.488694525342787, 0),
    (45.259464426520431, 62.294308566870953, 0),
    (43.057853567247506, 63.835893086738217, 0),
    (-36.347538725598532, 53.887442216077716, 0),
    (-38.206041399010743, 52.586104634371587, 0),
    (-46.757087022012328, 45.152794079834813, 0),
    (-43.057853567247491, 63.835893086738217, 0),
    (-45.259464426520424, 62.294308566870953, 0),
    (-55.389164626076145, 53.48869452534278, 0),
    (-46.757087022012321, -45.152794079834827, 0),
    (-38.206041399010758, -52.58610463437158, 0),
    (-36.347538725598525, -53.887442216077723, 0),
    (-55.389164626076131, -53.488694525342794, 0),
    (-45.259464426520438, -62.294308566870946, 0),
    (-43.057853567247484, -63.835893086738224, 0),
    (36.347538725598554, -53.887442216077709, 0),
    (38.206041399010736, -52.586104634371594, 0),
    (46.757087022012307, -45.152794079834841, 0),
    (43.05785356724752, -63.835893086738203, 0),
    (45.259464426520417, -62.29430856687096, 0),
    (55.389164626076116, -53.488694525342815, 0),
    (42.764441500835751, -4.494723920509097, 2),
    (43, -1.0531614642872444e-14, 2),
    (42.764441500835758, 4.4947239205090757, 2),
    (39.282454678631836, 17.489675652259407, 2),
    (37.239092362730865, 21.499999999999996, 2),
    (34.787730758122741, 25.274765848576344, 2),
    (25.274765848576344, 34.787730758122741, 2),
    (24.045294849242111, 35.648615619866796, 2),
    (17.489675652259407, 39.282454678631836, 2),
    (4.4947239205090987, 42.764441500835751, 2),
    (2.6329036607181111e-15, 43, 2),
    (-4.4947239205091032, 42.764441500835751, 2),
    (-17.489675652259411, 39.282454678631836, 2),
    (-24.045294849242108, 35.648615619866796, 2),
    (-25.27476584857634, 34.787730758122741, 2),
    (-34.787730758122734, 25.274765848576351, 2),
    (-37.239092362730865, 21.499999999999996, 2),
    (-39.282454678631829, 17.489675652259418, 2),
    (-42.764441500835751, 4.4947239205091103, 2),
    (-43, 5.2658073214362222e-15, 2),
    (-42.764441500835751, -4.4947239205091005, 2),
    (-39.282454678631836, -17.489675652259407, 2),
    (-37.239092362730858, -21.500000000000004, 2),
    (-34.787730758122748, -25.27476584857634, 2),
    (-25.274765848576351, -34.787730758122734, 2),
    (-24.045294849242104, -35.648615619866803, 2),
    (-17.489675652259404, -39.282454678631844, 2),
    (-4.4947239205090943, -42.764441500835758, 2),
    (-7.8987109821543333e-15, -43, 2),
    (4.4947239205090783, -42.764441500835758, 2),
    (17.48967565225939, -39.282454678631844, 2),
    (24.045294849242122, -35.648615619866789, 2),
    (25.274765848576337, -34.787730758122748, 2),
    (34.787730758122734, -25.274765848576354, 2),
    (37.239092362730851, -21.500000000000018, 2),
    (39.282454678631844, -17.489675652259407, 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),
    (164, 41, -1, "", 0, 0),
    (170, 7, -1, "", 0, 0),
    (171, 21, -1, "", 0, 0),
    (177, 27, -1, "", 0, 0),
    (178, 181, -1, "", 0, 0),
    (180, 183, -1, "", 0, 0),
    (184, 187, -1, "", 0, 0),
    (186, 189, -1, "", 0, 0),
    (190, 193, -1, "", 0, 0),
    (192, 195, -1, "", 0, 0),
    (196, 199, -1, "", 0, 0),
    (198, 201, -1, "", 0, 0),
    (202, 163, -1, "", 0, 2),
    (204, 125, -1, "", 0, 2),
    (205, 126, -1, "", 0, 2),
    (207, 128, -1, "", 0, 2),
    (208, 130, -1, "", 0, 2),
    (210, 132, -1, "", 0, 2),
    (211, 133, -1, "", 0, 2),
    (213, 135, -1, "", 0, 2),
    (214, 136, -1, "", 0, 2),
    (216, 138, -1, "", 0, 2),
    (217, 140, -1, "", 0, 2),
    (219, 142, -1, "", 0, 2),
    (220, 143, -1, "", 0, 2),
    (222, 145, -1, "", 0, 2),
    (223, 146, -1, "", 0, 2),
    (225, 148, -1, "", 0, 2),
    (226, 150, -1, "", 0, 2),
    (228, 152, -1, "", 0, 2),
    (229, 153, -1, "", 0, 2),
    (231, 155, -1, "", 0, 2),
    (232, 156, -1, "", 0, 2),
    (234, 158, -1, "", 0, 2),
    (235, 160, -1, "", 0, 2),
    (237, 162, -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, 6, 10, "", 0, 0),
    (5, 6, 18, 10, "", 0, 0),
    (6, 7, 6, 10, "", 0, 0),
    (7, 8, 6, 10, "", 0, 0),
    (8, 9, 8, 10, "", 0, 0),
    (9, 10, 10, 10, "", 0, 0),
    (10, 11, 2, 10, "", 0, 0),
    (11, 12, 10, 10, "", 0, 0),
    (12, 13, 18, 10, "", 0, 0),
    (13, 14, 6, 10, "", 0, 0),
    (14, 15, 6, 10, "", 0, 0),
    (15, 16, 18, 10, "", 0, 0),
    (16, 17, 10, 10, "", 0, 0),
    (17, 18, 2, 10, "", 0, 0),
    (18, 19, 10, 10, "", 0, 0),
    (19, 20, 8, 10, "", 0, 0),
    (20, 21, 6, 10, "", 0, 0),
    (21, 22, 6, 10, "", 0, 0),
    (22, 23, 18, 10, "", 0, 0),
    (23, 24, 6, 10, "", 0, 0),
    (24, 25, 6, 10, "", 0, 0),
    (25, 26, 18, 10, "", 0, 0),
    (26, 27, 6, 10, "", 0, 0),
    (27, 28, 6, 10, "", 0, 0),
    (28, 29, 8, 10, "", 0, 0),
    (29, 30, 10, 10, "", 0, 0),
    (30, 31, 2, 10, "", 0, 0),
    (31, 32, 10, 10, "", 0, 0),
    (32, 33, 18, 10, "", 0, 0),
    (33, 34, 6, 10, "", 0, 0),
    (34, 35, 6, 10, "", 0, 0),
    (35, 36, 18, 10, "", 0, 0),
    (36, 37, 10, 10, "", 0, 0),
    (37, 38, 2, 10, "", 0, 0),
    (38, 39, 10, 10, "", 0, 0),
    (39, 40, 8, 10, "", 0, 0),
    (40, 41, 6, 10, "", 0, 0),
    (41, 42, 6, 10, "", 0, 0),
    (42, 43, 18, 10, "", 0, 0),
    (43, 4, 6, 10, "", 0, 0),
    (44, 45, 6, 10, "", 0, 0),
    (45, 46, 18, 10, "", 0, 0),
    (46, 47, 6, 10, "", 0, 0),
    (47, 48, 6, 10, "", 0, 0),
    (48, 49, 8, 10, "", 0, 0),
    (49, 50, 10, 10, "", 0, 0),
    (50, 51, 2, 10, "", 0, 0),
    (51, 52, 10, 10, "", 0, 0),
    (52, 53, 18, 10, "", 0, 0),
    (53, 54, 6, 10, "", 0, 0),
    (54, 55, 6, 10, "", 0, 0),
    (55, 56, 18, 10, "", 0, 0),
    (56, 57, 10, 10, "", 0, 0),
    (57, 58, 2, 10, "", 0, 0),
    (58, 59, 10, 10, "", 0, 0),
    (59, 60, 8, 10, "", 0, 0),
    (60, 61, 6, 10, "", 0, 0),
    (61, 62, 6, 10, "", 0, 0),
    (62, 63, 18, 10, "", 0, 0),
    (63, 64, 6, 10, "", 0, 0),
    (64, 65, 6, 10, "", 0, 0),
    (65, 66, 18, 10, "", 0, 0),
    (66, 67, 6, 10, "", 0, 0),
    (67, 68, 6, 10, "", 0, 0),
    (68, 69, 8, 10, "", 0, 0),
    (69, 70, 10, 10, "", 0, 0),
    (70, 71, 2, 10, "", 0, 0),
    (71, 72, 10, 10, "", 0, 0),
    (72, 73, 18, 10, "", 0, 0),
    (73, 74, 6, 10, "", 0, 0),
    (74, 75, 6, 10, "", 0, 0),
    (75, 76, 18, 10, "", 0, 0),
    (76, 77, 10, 10, "", 0, 0),
    (77, 78, 2, 10, "", 0, 0),
    (78, 79, 10, 10, "", 0, 0),
    (79, 80, 8, 10, "", 0, 0),
    (80, 81, 6, 10, "", 0, 0),
    (81, 82, 6, 10, "", 0, 0),
    (82, 83, 18, 10, "", 0, 0),
    (83, 44, 6, 10, "", 0, 0),
    (84, 85, 6, 10, "", 0, 2),
    (85, 86, 18, 10, "", 0, 2),
    (86, 87, 6, 10, "", 0, 2),
    (87, 88, 6, 10, "", 0, 2),
    (88, 89, 8, 10, "", 0, 2),
    (89, 90, 10, 10, "", 0, 2),
    (90, 91, 2, 10, "", 0, 2),
    (91, 92, 10, 10, "", 0, 2),
    (92, 93, 18, 10, "", 0, 2),
    (93, 94, 6, 10, "", 0, 2),
    (94, 95, 6, 10, "", 0, 2),
    (95, 96, 18, 10, "", 0, 2),
    (96, 97, 10, 10, "", 0, 2),
    (97, 98, 2, 10, "", 0, 2),
    (98, 99, 10, 10, "", 0, 2),
    (99, 100, 8, 10, "", 0, 2),
    (100, 101, 6, 10, "", 0, 2),
    (101, 102, 6, 10, "", 0, 2),
    (102, 103, 18, 10, "", 0, 2),
    (103, 104, 6, 10, "", 0, 2),
    (104, 105, 6, 10, "", 0, 2),
    (105, 106, 18, 10, "", 0, 2),
    (106, 107, 6, 10, "", 0, 2),
    (107, 108, 6, 10, "", 0, 2),
    (108, 109, 8, 10, "", 0, 2),
    (109, 110, 10, 10, "", 0, 2),
    (110, 111, 2, 10, "", 0, 2),
    (111, 112, 10, 10, "", 0, 2),
    (112, 113, 18, 10, "", 0, 2),
    (113, 114, 6, 10, "", 0, 2),
    (114, 115, 6, 10, "", 0, 2),
    (115, 116, 18, 10, "", 0, 2),
    (116, 117, 10, 10, "", 0, 2),
    (117, 118, 2, 10, "", 0, 2),
    (118, 119, 10, 10, "", 0, 2),
    (119, 120, 8, 10, "", 0, 2),
    (120, 121, 6, 10, "", 0, 2),
    (121, 122, 6, 10, "", 0, 2),
    (122, 123, 18, 10, "", 0, 2),
    (123, 84, 6, 10, "", 0, 2),
    (124, 125, 6, 10, "", 0, 2),
    (125, 126, 18, 10, "", 0, 2),
    (126, 127, 6, 10, "", 0, 2),
    (127, 128, 6, 10, "", 0, 2),
    (128, 129, 8, 10, "", 0, 2),
    (129, 130, 10, 10, "", 0, 2),
    (130, 131, 2, 10, "", 0, 2),
    (131, 132, 10, 10, "", 0, 2),
    (132, 133, 18, 10, "", 0, 2),
    (133, 134, 6, 10, "", 0, 2),
    (134, 135, 6, 10, "", 0, 2),
    (135, 136, 18, 10, "", 0, 2),
    (136, 137, 10, 10, "", 0, 2),
    (137, 138, 2, 10, "", 0, 2),
    (138, 139, 10, 10, "", 0, 2),
    (139, 140, 8, 10, "", 0, 2),
    (140, 141, 6, 10, "", 0, 2),
    (141, 142, 6, 10, "", 0, 2),
    (142, 143, 18, 10, "", 0, 2),
    (143, 144, 6, 10, "", 0, 2),
    (144, 145, 6, 10, "", 0, 2),
    (145, 146, 18, 10, "", 0, 2),
    (146, 147, 6, 10, "", 0, 2),
    (147, 148, 6, 10, "", 0, 2),
    (148, 149, 8, 10, "", 0, 2),
    (149, 150, 10, 10, "", 0, 2),
    (150, 151, 2, 10, "", 0, 2),
    (151, 152, 10, 10, "", 0, 2),
    (152, 153, 18, 10, "", 0, 2),
    (153, 154, 6, 10, "", 0, 2),
    (154, 155, 6, 10, "", 0, 2),
    (155, 156, 18, 10, "", 0, 2),
    (156, 157, 10, 10, "", 0, 2),
    (157, 158, 2, 10, "", 0, 2),
    (158, 159, 10, 10, "", 0, 2),
    (159, 160, 8, 10, "", 0, 2),
    (160, 161, 6, 10, "", 0, 2),
    (161, 162, 6, 10, "", 0, 2),
    (162, 163, 18, 10, "", 0, 2),
    (163, 124, 6, 10, "", 0, 2),
    (164, 165, 6, 10, "", 0, 0),
    (165, 166, 18, 10, "", 0, 0),
    (166, 167, 6, 10, "", 0, 0),
    (167, 168, 6, 10, "", 0, 0),
    (168, 169, 18, 10, "", 0, 0),
    (169, 170, 6, 10, "", 0, 0),
    (171, 172, 6, 10, "", 0, 0),
    (172, 173, 18, 10, "", 0, 0),
    (173, 174, 6, 10, "", 0, 0),
    (174, 175, 6, 10, "", 0, 0),
    (175, 176, 18, 10, "", 0, 0),
    (176, 177, 6, 10, "", 0, 0),
    (178, 179, 10, 10, "", 0, 0),
    (179, 180, 2, 10, "", 0, 0),
    (181, 182, 10, 10, "", 0, 0),
    (182, 183, 2, 10, "", 0, 0),
    (184, 185, 2, 10, "", 0, 0),
    (185, 186, 10, 10, "", 0, 0),
    (187, 188, 2, 10, "", 0, 0),
    (188, 189, 10, 10, "", 0, 0),
    (190, 191, 10, 10, "", 0, 0),
    (191, 192, 2, 10, "", 0, 0),
    (193, 194, 10, 10, "", 0, 0),
    (194, 195, 2, 10, "", 0, 0),
    (196, 197, 2, 10, "", 0, 0),
    (197, 198, 10, 10, "", 0, 0),
    (199, 200, 2, 10, "", 0, 0),
    (200, 201, 10, 10, "", 0, 0),
    (202, 203, 6, 10, "", 0, 2),
    (203, 204, 6, 10, "", 0, 2),
    (205, 206, 6, 10, "", 0, 2),
    (206, 207, 6, 10, "", 0, 2),
    (208, 209, 2, 10, "", 0, 2),
    (209, 210, 10, 10, "", 0, 2),
    (211, 212, 6, 10, "", 0, 2),
    (212, 213, 6, 10, "", 0, 2),
    (214, 215, 10, 10, "", 0, 2),
    (215, 216, 2, 10, "", 0, 2),
    (217, 218, 6, 10, "", 0, 2),
    (218, 219, 6, 10, "", 0, 2),
    (220, 221, 6, 10, "", 0, 2),
    (221, 222, 6, 10, "", 0, 2),
    (223, 224, 6, 10, "", 0, 2),
    (224, 225, 6, 10, "", 0, 2),
    (226, 227, 2, 10, "", 0, 2),
    (227, 228, 10, 10, "", 0, 2),
    (229, 230, 6, 10, "", 0, 2),
    (230, 231, 6, 10, "", 0, 2),
    (232, 233, 10, 10, "", 0, 2),
    (233, 234, 2, 10, "", 0, 2),
    (235, 236, 6, 10, "", 0, 2),
    (236, 237, 6, 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, 92, "Линейная сталь", 0, "", 0, 0, 1),
    (30, 0, "Линейная сталь", 0, "", 0, 2, 1),
    (0, 0, "Воздух", 0, "", 0, 2, 1),
    (70, 0, "Линейная сталь", 0, "", 0, 0, 1),
    (-70, 8.5722444767566408e-15, "Линейная сталь", 0, "", 0, 0, 1),
    (45.637920287744294, 54.389155461447437, "Обмоточная область", 0, "Обмотка возбуждения", 0, 0, -200),
    (-45.637920287744294, 54.389155461447437, "Обмоточная область", 0, "Обмотка возбуждения", 0, 0, -200),
    (-45.637920287744301, -54.38915546144743, "Обмоточная область", 0, "Обмотка возбуждения", 0, 0, 200),
    (45.637920287744286, -54.389155461447444, "Обмоточная область", 0, "Обмотка возбуждения", 0, 0, 200),
    (50, 0, "Обмоточная область", 0, "Обмотка якоря", 0, 2, 50),
    (43.301270189221938, 24.999999999999996, "Обмоточная область", 0, "Обмотка якоря", 0, 2, 50),
    (25.000000000000007, 43.301270189221931, "Обмоточная область", 0, "Обмотка якоря", 0, 2, 50),
    (3.0615158845559431e-15, 50, "Обмоточная область", 0, "Обмотка якоря", 0, 2, 50),
    (-24.999999999999989, 43.301270189221938, "Обмоточная область", 0, "Обмотка якоря", 0, 2, 50),
    (-43.301270189221938, 24.999999999999996, "Обмоточная область", 0, "Обмотка якоря", 0, 2, 50),
    (-50, 6.1230317691118863e-15, "Обмоточная область", 0, "Обмотка якоря", 0, 2, -50),
    (-43.301270189221931, -25.000000000000007, "Обмоточная область", 0, "Обмотка якоря", 0, 2, -50),
    (-25.000000000000021, -43.301270189221917, "Обмоточная область", 0, "Обмотка якоря", 0, 2, -50),
    (-9.1845476536678294e-15, -50, "Обмоточная область", 0, "Обмотка якоря", 0, 2, -50),
    (25.000000000000007, -43.301270189221931, "Обмоточная область", 0, "Обмотка якоря", 0, 2, -50),
    (43.301270189221917, -25.000000000000021, "Обмоточная область", 0, "Обмотка якоря", 0, 2, -50),
    (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: Назначения материалов и обмоток.
Рисунок 27.26. Машина постоянного тока. Шаг 8: Назначения материалов и обмоток. Открыть в полном размере

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

Этап 9 из 11

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

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

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

Таблица 27.27. Локальные ограничения сетки по областям
№ меткиМатериалРазмер элемента, ммРежим
0Воздух8,5заданный
1Линейная сталь3заданный
2Линейная сталь2заданный
3Воздух2заданный
4Линейная сталь2заданный
5Линейная сталь2заданный
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Воздух0,3заданный

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

Таблица 27.28. Ограничения сетки отрезков
№ отрезкаМаксимальная длина, ммРежим
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автоматический
Таблица 27.29. Ограничения сетки дуг
№ дугиМаксимальный угол элемента, {}^\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

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

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

Посмотреть программу этапа с русскими комментариями
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(2, 0), 1)
mi_addcircprop("Обмотка якоря", complex(3, 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),
    (80, 0, 0),
    (79.561751629461867, 8.3622770614122786, 0),
    (73.083636611408068, 32.538931446064019, 0),
    (69.282032302755098, 39.999999999999993, 0),
    (64.721359549995796, 47.022820183397855, 0),
    (57.547184027092094, 55.57266963671978, 0),
    (47.022820183397855, 64.721359549995796, 0),
    (44.73543227765974, 66.323005804403337, 0),
    (32.538931446064019, 73.083636611408068, 0),
    (8.3622770614122768, 79.561751629461867, 0),
    (4.898425415289509e-15, 80, 0),
    (-8.3622770614122839, 79.561751629461867, 0),
    (-32.538931446064019, 73.083636611408068, 0),
    (-44.735432277659733, 66.323005804403337, 0),
    (-47.02282018339784, 64.721359549995796, 0),
    (-57.547184027092094, 55.572669636719773, 0),
    (-64.721359549995782, 47.022820183397862, 0),
    (-69.282032302755098, 39.999999999999993, 0),
    (-73.083636611408053, 32.538931446064034, 0),
    (-79.561751629461867, 8.3622770614122981, 0),
    (-80, 9.7968508305790181e-15, 0),
    (-79.561751629461867, -8.3622770614122803, 0),
    (-73.083636611408068, -32.538931446064019, 0),
    (-69.282032302755084, -40.000000000000007, 0),
    (-64.72135954999581, -47.02282018339784, 0),
    (-57.547184027092086, -55.572669636719787, 0),
    (-47.022820183397862, -64.721359549995782, 0),
    (-44.735432277659726, -66.323005804403351, 0),
    (-32.538931446064005, -73.083636611408082, 0),
    (-8.3622770614122679, -79.561751629461867, 0),
    (-1.4695276245868527e-14, -80, 0),
    (8.3622770614122395, -79.561751629461867, 0),
    (32.538931446063984, -73.083636611408082, 0),
    (44.735432277659761, -66.323005804403323, 0),
    (47.022820183397833, -64.72135954999581, 0),
    (57.547184027092072, -55.572669636719809, 0),
    (64.721359549995782, -47.022820183397869, 0),
    (69.28203230275507, -40.000000000000036, 0),
    (73.083636611408082, -32.538931446064012, 0),
    (79.561751629461867, -8.3622770614122732, 0),
    (100, 0, 0),
    (99.452189536827333, 10.452846326765346, 0),
    (91.354545764260081, 40.673664307580019, 0),
    (86.602540378443877, 49.999999999999993, 0),
    (80.901699437494742, 58.778525229247315, 0),
    (71.933980033865126, 69.465837045899718, 0),
    (58.778525229247315, 80.901699437494742, 0),
    (55.919290347074678, 82.903757255504175, 0),
    (40.673664307580019, 91.354545764260081, 0),
    (10.452846326765346, 99.452189536827333, 0),
    (6.1230317691118863e-15, 100, 0),
    (-10.452846326765355, 99.452189536827333, 0),
    (-40.673664307580026, 91.354545764260081, 0),
    (-55.919290347074671, 82.903757255504175, 0),
    (-58.7785252292473, 80.901699437494742, 0),
    (-71.933980033865126, 69.465837045899718, 0),
    (-80.901699437494727, 58.778525229247322, 0),
    (-86.602540378443877, 49.999999999999993, 0),
    (-91.354545764260081, 40.67366430758004, 0),
    (-99.452189536827333, 10.452846326765373, 0),
    (-100, 1.2246063538223773e-14, 0),
    (-99.452189536827333, -10.45284632676535, 0),
    (-91.354545764260081, -40.673664307580019, 0),
    (-86.602540378443862, -50.000000000000014, 0),
    (-80.901699437494756, -58.7785252292473, 0),
    (-71.933980033865112, -69.465837045899733, 0),
    (-58.778525229247322, -80.901699437494727, 0),
    (-55.919290347074657, -82.903757255504189, 0),
    (-40.673664307580012, -91.354545764260095, 0),
    (-10.452846326765336, -99.452189536827333, 0),
    (-1.8369095307335659e-14, -100, 0),
    (10.452846326765298, -99.452189536827333, 0),
    (40.673664307579976, -91.354545764260109, 0),
    (55.9192903470747, -82.903757255504161, 0),
    (58.778525229247293, -80.901699437494756, 0),
    (71.933980033865083, -69.465837045899761, 0),
    (80.901699437494727, -58.778525229247336, 0),
    (86.602540378443834, -50.000000000000043, 0),
    (91.354545764260095, -40.673664307580012, 0),
    (99.452189536827333, -10.452846326765341, 0),
    (18, 0, 2),
    (17.901394116628918, 1.8815123388177626, 2),
    (16.443818237566816, 7.3212595753644036, 2),
    (15.588457268119896, 8.9999999999999982, 2),
    (14.562305898749054, 10.580134541264517, 2),
    (12.948116406095721, 12.503850668261951, 2),
    (10.580134541264517, 14.562305898749054, 2),
    (10.065472262473442, 14.922676305990752, 2),
    (7.3212595753644036, 16.443818237566816, 2),
    (1.8815123388177621, 17.901394116628918, 2),
    (1.1021457184401395e-15, 18, 2),
    (-1.8815123388177639, 17.901394116628918, 2),
    (-7.3212595753644045, 16.443818237566816, 2),
    (-10.06547226247344, 14.922676305990752, 2),
    (-10.580134541264515, 14.562305898749054, 2),
    (-12.948116406095721, 12.503850668261949, 2),
    (-14.562305898749052, 10.580134541264519, 2),
    (-15.588457268119896, 8.9999999999999982, 2),
    (-16.443818237566813, 7.3212595753644081, 2),
    (-17.901394116628918, 1.8815123388177672, 2),
    (-18, 2.2042914368802791e-15, 2),
    (-17.901394116628918, -1.881512338817763, 2),
    (-16.443818237566816, -7.3212595753644036, 2),
    (-15.588457268119894, -9.0000000000000018, 2),
    (-14.562305898749056, -10.580134541264515, 2),
    (-12.948116406095719, -12.503850668261952, 2),
    (-10.580134541264519, -14.562305898749052, 2),
    (-10.065472262473438, -14.922676305990754, 2),
    (-7.3212595753644019, -16.443818237566816, 2),
    (-1.8815123388177604, -17.901394116628921, 2),
    (-3.3064371553204186e-15, -18, 2),
    (1.8815123388177537, -17.901394116628921, 2),
    (7.3212595753643956, -16.44381823756682, 2),
    (10.065472262473445, -14.922676305990748, 2),
    (10.580134541264513, -14.562305898749056, 2),
    (12.948116406095716, -12.503850668261956, 2),
    (14.562305898749052, -10.58013454126452, 2),
    (15.588457268119891, -9.0000000000000071, 2),
    (16.443818237566816, -7.3212595753644027, 2),
    (17.901394116628918, -1.8815123388177615, 2),
    (58, 0, 2),
    (57.682269931359848, 6.0626508695239014, 2),
    (52.98563654327085, 23.590725298396411, 2),
    (50.229473419497445, 28.999999999999996, 2),
    (46.92298567374695, 34.091544632963441, 2),
    (41.721708419641772, 40.290185486621837, 2),
    (34.091544632963441, 46.92298567374695, 2),
    (32.433188401303312, 48.084179208192424, 2),
    (23.590725298396411, 52.98563654327085, 2),
    (6.0626508695239005, 57.682269931359848, 2),
    (3.551358426084894e-15, 58, 2),
    (-6.0626508695239059, 57.682269931359848, 2),
    (-23.590725298396414, 52.98563654327085, 2),
    (-32.433188401303305, 48.084179208192424, 2),
    (-34.091544632963434, 46.92298567374695, 2),
    (-41.721708419641772, 40.290185486621837, 2),
    (-46.922985673746943, 34.091544632963448, 2),
    (-50.229473419497445, 28.999999999999996, 2),
    (-52.985636543270843, 23.590725298396425, 2),
    (-57.682269931359848, 6.0626508695239165, 2),
    (-58, 7.1027168521697881e-15, 2),
    (-57.682269931359848, -6.0626508695239032, 2),
    (-52.98563654327085, -23.590725298396411, 2),
    (-50.229473419497438, -29.000000000000007, 2),
    (-46.922985673746958, -34.091544632963434, 2),
    (-41.721708419641764, -40.290185486621844, 2),
    (-34.091544632963448, -46.922985673746943, 2),
    (-32.433188401303298, -48.084179208192424, 2),
    (-23.590725298396407, -52.985636543270857, 2),
    (-6.0626508695238952, -57.682269931359855, 2),
    (-1.0654075278254682e-14, -58, 2),
    (6.062650869523873, -57.682269931359855, 2),
    (23.590725298396386, -52.985636543270864, 2),
    (32.433188401303326, -48.084179208192417, 2),
    (34.091544632963426, -46.922985673746958, 2),
    (41.72170841964175, -40.290185486621859, 2),
    (46.922985673746943, -34.091544632963455, 2),
    (50.229473419497424, -29.000000000000025, 2),
    (52.985636543270857, -23.590725298396407, 2),
    (57.682269931359848, -6.0626508695238979, 2),
    (51.961524227066306, -30.000000000000028, 0),
    (54.812727458556061, -24.404198584548009, 0),
    (59.6713137220964, -6.2717077960592054, 0),
    (60, -1.4695276245868527e-14, 0),
    (59.671313722096407, 6.2717077960591761, 0),
    (54.812727458556047, 24.40419858454803, 0),
    (51.961524227066313, 30, 0),
    (-51.96152422706632, 29.999999999999996, 0),
    (-54.812727458556047, 24.404198584548027, 0),
    (-59.6713137220964, 6.271707796059224, 0),
    (-60, 7.3476381229342635e-15, 0),
    (-59.6713137220964, -6.2717077960592098, 0),
    (-54.812727458556054, -24.404198584548013, 0),
    (-51.961524227066313, -30.000000000000007, 0),
    (46.757087022012328, 45.15279407983482, 0),
    (38.206041399010751, 52.586104634371587, 0),
    (36.34753872559854, 53.887442216077716, 0),
    (55.389164626076145, 53.488694525342787, 0),
    (45.259464426520431, 62.294308566870953, 0),
    (43.057853567247506, 63.835893086738217, 0),
    (-36.347538725598532, 53.887442216077716, 0),
    (-38.206041399010743, 52.586104634371587, 0),
    (-46.757087022012328, 45.152794079834813, 0),
    (-43.057853567247491, 63.835893086738217, 0),
    (-45.259464426520424, 62.294308566870953, 0),
    (-55.389164626076145, 53.48869452534278, 0),
    (-46.757087022012321, -45.152794079834827, 0),
    (-38.206041399010758, -52.58610463437158, 0),
    (-36.347538725598525, -53.887442216077723, 0),
    (-55.389164626076131, -53.488694525342794, 0),
    (-45.259464426520438, -62.294308566870946, 0),
    (-43.057853567247484, -63.835893086738224, 0),
    (36.347538725598554, -53.887442216077709, 0),
    (38.206041399010736, -52.586104634371594, 0),
    (46.757087022012307, -45.152794079834841, 0),
    (43.05785356724752, -63.835893086738203, 0),
    (45.259464426520417, -62.29430856687096, 0),
    (55.389164626076116, -53.488694525342815, 0),
    (42.764441500835751, -4.494723920509097, 2),
    (43, -1.0531614642872444e-14, 2),
    (42.764441500835758, 4.4947239205090757, 2),
    (39.282454678631836, 17.489675652259407, 2),
    (37.239092362730865, 21.499999999999996, 2),
    (34.787730758122741, 25.274765848576344, 2),
    (25.274765848576344, 34.787730758122741, 2),
    (24.045294849242111, 35.648615619866796, 2),
    (17.489675652259407, 39.282454678631836, 2),
    (4.4947239205090987, 42.764441500835751, 2),
    (2.6329036607181111e-15, 43, 2),
    (-4.4947239205091032, 42.764441500835751, 2),
    (-17.489675652259411, 39.282454678631836, 2),
    (-24.045294849242108, 35.648615619866796, 2),
    (-25.27476584857634, 34.787730758122741, 2),
    (-34.787730758122734, 25.274765848576351, 2),
    (-37.239092362730865, 21.499999999999996, 2),
    (-39.282454678631829, 17.489675652259418, 2),
    (-42.764441500835751, 4.4947239205091103, 2),
    (-43, 5.2658073214362222e-15, 2),
    (-42.764441500835751, -4.4947239205091005, 2),
    (-39.282454678631836, -17.489675652259407, 2),
    (-37.239092362730858, -21.500000000000004, 2),
    (-34.787730758122748, -25.27476584857634, 2),
    (-25.274765848576351, -34.787730758122734, 2),
    (-24.045294849242104, -35.648615619866803, 2),
    (-17.489675652259404, -39.282454678631844, 2),
    (-4.4947239205090943, -42.764441500835758, 2),
    (-7.8987109821543333e-15, -43, 2),
    (4.4947239205090783, -42.764441500835758, 2),
    (17.48967565225939, -39.282454678631844, 2),
    (24.045294849242122, -35.648615619866789, 2),
    (25.274765848576337, -34.787730758122748, 2),
    (34.787730758122734, -25.274765848576354, 2),
    (37.239092362730851, -21.500000000000018, 2),
    (39.282454678631844, -17.489675652259407, 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),
    (164, 41, -1, "", 0, 0),
    (170, 7, -1, "", 0, 0),
    (171, 21, -1, "", 0, 0),
    (177, 27, -1, "", 0, 0),
    (178, 181, -1, "", 0, 0),
    (180, 183, -1, "", 0, 0),
    (184, 187, -1, "", 0, 0),
    (186, 189, -1, "", 0, 0),
    (190, 193, -1, "", 0, 0),
    (192, 195, -1, "", 0, 0),
    (196, 199, -1, "", 0, 0),
    (198, 201, -1, "", 0, 0),
    (202, 163, -1, "", 0, 2),
    (204, 125, -1, "", 0, 2),
    (205, 126, -1, "", 0, 2),
    (207, 128, -1, "", 0, 2),
    (208, 130, -1, "", 0, 2),
    (210, 132, -1, "", 0, 2),
    (211, 133, -1, "", 0, 2),
    (213, 135, -1, "", 0, 2),
    (214, 136, -1, "", 0, 2),
    (216, 138, -1, "", 0, 2),
    (217, 140, -1, "", 0, 2),
    (219, 142, -1, "", 0, 2),
    (220, 143, -1, "", 0, 2),
    (222, 145, -1, "", 0, 2),
    (223, 146, -1, "", 0, 2),
    (225, 148, -1, "", 0, 2),
    (226, 150, -1, "", 0, 2),
    (228, 152, -1, "", 0, 2),
    (229, 153, -1, "", 0, 2),
    (231, 155, -1, "", 0, 2),
    (232, 156, -1, "", 0, 2),
    (234, 158, -1, "", 0, 2),
    (235, 160, -1, "", 0, 2),
    (237, 162, -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, 6, 4, "", 0, 0),
    (5, 6, 18, 4, "", 0, 0),
    (6, 7, 6, 4, "", 0, 0),
    (7, 8, 6, 4, "", 0, 0),
    (8, 9, 8, 4, "", 0, 0),
    (9, 10, 10, 4, "", 0, 0),
    (10, 11, 2, 4, "", 0, 0),
    (11, 12, 10, 4, "", 0, 0),
    (12, 13, 18, 4, "", 0, 0),
    (13, 14, 6, 4, "", 0, 0),
    (14, 15, 6, 4, "", 0, 0),
    (15, 16, 18, 4, "", 0, 0),
    (16, 17, 10, 4, "", 0, 0),
    (17, 18, 2, 4, "", 0, 0),
    (18, 19, 10, 4, "", 0, 0),
    (19, 20, 8, 4, "", 0, 0),
    (20, 21, 6, 4, "", 0, 0),
    (21, 22, 6, 4, "", 0, 0),
    (22, 23, 18, 4, "", 0, 0),
    (23, 24, 6, 4, "", 0, 0),
    (24, 25, 6, 4, "", 0, 0),
    (25, 26, 18, 4, "", 0, 0),
    (26, 27, 6, 4, "", 0, 0),
    (27, 28, 6, 4, "", 0, 0),
    (28, 29, 8, 4, "", 0, 0),
    (29, 30, 10, 4, "", 0, 0),
    (30, 31, 2, 4, "", 0, 0),
    (31, 32, 10, 4, "", 0, 0),
    (32, 33, 18, 4, "", 0, 0),
    (33, 34, 6, 4, "", 0, 0),
    (34, 35, 6, 4, "", 0, 0),
    (35, 36, 18, 4, "", 0, 0),
    (36, 37, 10, 4, "", 0, 0),
    (37, 38, 2, 4, "", 0, 0),
    (38, 39, 10, 4, "", 0, 0),
    (39, 40, 8, 4, "", 0, 0),
    (40, 41, 6, 4, "", 0, 0),
    (41, 42, 6, 4, "", 0, 0),
    (42, 43, 18, 4, "", 0, 0),
    (43, 4, 6, 4, "", 0, 0),
    (44, 45, 6, 4, "", 0, 0),
    (45, 46, 18, 4, "", 0, 0),
    (46, 47, 6, 4, "", 0, 0),
    (47, 48, 6, 4, "", 0, 0),
    (48, 49, 8, 4, "", 0, 0),
    (49, 50, 10, 4, "", 0, 0),
    (50, 51, 2, 4, "", 0, 0),
    (51, 52, 10, 4, "", 0, 0),
    (52, 53, 18, 4, "", 0, 0),
    (53, 54, 6, 4, "", 0, 0),
    (54, 55, 6, 4, "", 0, 0),
    (55, 56, 18, 4, "", 0, 0),
    (56, 57, 10, 4, "", 0, 0),
    (57, 58, 2, 4, "", 0, 0),
    (58, 59, 10, 4, "", 0, 0),
    (59, 60, 8, 4, "", 0, 0),
    (60, 61, 6, 4, "", 0, 0),
    (61, 62, 6, 4, "", 0, 0),
    (62, 63, 18, 4, "", 0, 0),
    (63, 64, 6, 4, "", 0, 0),
    (64, 65, 6, 4, "", 0, 0),
    (65, 66, 18, 4, "", 0, 0),
    (66, 67, 6, 4, "", 0, 0),
    (67, 68, 6, 4, "", 0, 0),
    (68, 69, 8, 4, "", 0, 0),
    (69, 70, 10, 4, "", 0, 0),
    (70, 71, 2, 4, "", 0, 0),
    (71, 72, 10, 4, "", 0, 0),
    (72, 73, 18, 4, "", 0, 0),
    (73, 74, 6, 4, "", 0, 0),
    (74, 75, 6, 4, "", 0, 0),
    (75, 76, 18, 4, "", 0, 0),
    (76, 77, 10, 4, "", 0, 0),
    (77, 78, 2, 4, "", 0, 0),
    (78, 79, 10, 4, "", 0, 0),
    (79, 80, 8, 4, "", 0, 0),
    (80, 81, 6, 4, "", 0, 0),
    (81, 82, 6, 4, "", 0, 0),
    (82, 83, 18, 4, "", 0, 0),
    (83, 44, 6, 4, "", 0, 0),
    (84, 85, 6, 4, "", 0, 2),
    (85, 86, 18, 4, "", 0, 2),
    (86, 87, 6, 4, "", 0, 2),
    (87, 88, 6, 4, "", 0, 2),
    (88, 89, 8, 4, "", 0, 2),
    (89, 90, 10, 4, "", 0, 2),
    (90, 91, 2, 4, "", 0, 2),
    (91, 92, 10, 4, "", 0, 2),
    (92, 93, 18, 4, "", 0, 2),
    (93, 94, 6, 4, "", 0, 2),
    (94, 95, 6, 4, "", 0, 2),
    (95, 96, 18, 4, "", 0, 2),
    (96, 97, 10, 4, "", 0, 2),
    (97, 98, 2, 4, "", 0, 2),
    (98, 99, 10, 4, "", 0, 2),
    (99, 100, 8, 4, "", 0, 2),
    (100, 101, 6, 4, "", 0, 2),
    (101, 102, 6, 4, "", 0, 2),
    (102, 103, 18, 4, "", 0, 2),
    (103, 104, 6, 4, "", 0, 2),
    (104, 105, 6, 4, "", 0, 2),
    (105, 106, 18, 4, "", 0, 2),
    (106, 107, 6, 4, "", 0, 2),
    (107, 108, 6, 4, "", 0, 2),
    (108, 109, 8, 4, "", 0, 2),
    (109, 110, 10, 4, "", 0, 2),
    (110, 111, 2, 4, "", 0, 2),
    (111, 112, 10, 4, "", 0, 2),
    (112, 113, 18, 4, "", 0, 2),
    (113, 114, 6, 4, "", 0, 2),
    (114, 115, 6, 4, "", 0, 2),
    (115, 116, 18, 4, "", 0, 2),
    (116, 117, 10, 4, "", 0, 2),
    (117, 118, 2, 4, "", 0, 2),
    (118, 119, 10, 4, "", 0, 2),
    (119, 120, 8, 4, "", 0, 2),
    (120, 121, 6, 4, "", 0, 2),
    (121, 122, 6, 4, "", 0, 2),
    (122, 123, 18, 4, "", 0, 2),
    (123, 84, 6, 4, "", 0, 2),
    (124, 125, 6, 4, "", 0, 2),
    (125, 126, 18, 4, "", 0, 2),
    (126, 127, 6, 4, "", 0, 2),
    (127, 128, 6, 4, "", 0, 2),
    (128, 129, 8, 4, "", 0, 2),
    (129, 130, 10, 4, "", 0, 2),
    (130, 131, 2, 4, "", 0, 2),
    (131, 132, 10, 4, "", 0, 2),
    (132, 133, 18, 4, "", 0, 2),
    (133, 134, 6, 4, "", 0, 2),
    (134, 135, 6, 4, "", 0, 2),
    (135, 136, 18, 4, "", 0, 2),
    (136, 137, 10, 4, "", 0, 2),
    (137, 138, 2, 4, "", 0, 2),
    (138, 139, 10, 4, "", 0, 2),
    (139, 140, 8, 4, "", 0, 2),
    (140, 141, 6, 4, "", 0, 2),
    (141, 142, 6, 4, "", 0, 2),
    (142, 143, 18, 4, "", 0, 2),
    (143, 144, 6, 4, "", 0, 2),
    (144, 145, 6, 4, "", 0, 2),
    (145, 146, 18, 4, "", 0, 2),
    (146, 147, 6, 4, "", 0, 2),
    (147, 148, 6, 4, "", 0, 2),
    (148, 149, 8, 4, "", 0, 2),
    (149, 150, 10, 4, "", 0, 2),
    (150, 151, 2, 4, "", 0, 2),
    (151, 152, 10, 4, "", 0, 2),
    (152, 153, 18, 4, "", 0, 2),
    (153, 154, 6, 4, "", 0, 2),
    (154, 155, 6, 4, "", 0, 2),
    (155, 156, 18, 4, "", 0, 2),
    (156, 157, 10, 4, "", 0, 2),
    (157, 158, 2, 4, "", 0, 2),
    (158, 159, 10, 4, "", 0, 2),
    (159, 160, 8, 4, "", 0, 2),
    (160, 161, 6, 4, "", 0, 2),
    (161, 162, 6, 4, "", 0, 2),
    (162, 163, 18, 4, "", 0, 2),
    (163, 124, 6, 4, "", 0, 2),
    (164, 165, 6, 4, "", 0, 0),
    (165, 166, 18, 4, "", 0, 0),
    (166, 167, 6, 4, "", 0, 0),
    (167, 168, 6, 4, "", 0, 0),
    (168, 169, 18, 4, "", 0, 0),
    (169, 170, 6, 4, "", 0, 0),
    (171, 172, 6, 4, "", 0, 0),
    (172, 173, 18, 4, "", 0, 0),
    (173, 174, 6, 4, "", 0, 0),
    (174, 175, 6, 4, "", 0, 0),
    (175, 176, 18, 4, "", 0, 0),
    (176, 177, 6, 4, "", 0, 0),
    (178, 179, 10, 4, "", 0, 0),
    (179, 180, 2, 4, "", 0, 0),
    (181, 182, 10, 4, "", 0, 0),
    (182, 183, 2, 4, "", 0, 0),
    (184, 185, 2, 4, "", 0, 0),
    (185, 186, 10, 4, "", 0, 0),
    (187, 188, 2, 4, "", 0, 0),
    (188, 189, 10, 4, "", 0, 0),
    (190, 191, 10, 4, "", 0, 0),
    (191, 192, 2, 4, "", 0, 0),
    (193, 194, 10, 4, "", 0, 0),
    (194, 195, 2, 4, "", 0, 0),
    (196, 197, 2, 4, "", 0, 0),
    (197, 198, 10, 4, "", 0, 0),
    (199, 200, 2, 4, "", 0, 0),
    (200, 201, 10, 4, "", 0, 0),
    (202, 203, 6, 4, "", 0, 2),
    (203, 204, 6, 4, "", 0, 2),
    (205, 206, 6, 4, "", 0, 2),
    (206, 207, 6, 4, "", 0, 2),
    (208, 209, 2, 4, "", 0, 2),
    (209, 210, 10, 4, "", 0, 2),
    (211, 212, 6, 4, "", 0, 2),
    (212, 213, 6, 4, "", 0, 2),
    (214, 215, 10, 4, "", 0, 2),
    (215, 216, 2, 4, "", 0, 2),
    (217, 218, 6, 4, "", 0, 2),
    (218, 219, 6, 4, "", 0, 2),
    (220, 221, 6, 4, "", 0, 2),
    (221, 222, 6, 4, "", 0, 2),
    (223, 224, 6, 4, "", 0, 2),
    (224, 225, 6, 4, "", 0, 2),
    (226, 227, 2, 4, "", 0, 2),
    (227, 228, 10, 4, "", 0, 2),
    (229, 230, 6, 4, "", 0, 2),
    (230, 231, 6, 4, "", 0, 2),
    (232, 233, 10, 4, "", 0, 2),
    (233, 234, 2, 4, "", 0, 2),
    (235, 236, 6, 4, "", 0, 2),
    (236, 237, 6, 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, 92, "Линейная сталь", 3, "", 0, 0, 1),
    (30, 0, "Линейная сталь", 2, "", 0, 2, 1),
    (0, 0, "Воздух", 2, "", 0, 2, 1),
    (70, 0, "Линейная сталь", 2, "", 0, 0, 1),
    (-70, 8.5722444767566408e-15, "Линейная сталь", 2, "", 0, 0, 1),
    (45.637920287744294, 54.389155461447437, "Обмоточная область", 1, "Обмотка возбуждения", 0, 0, -200),
    (-45.637920287744294, 54.389155461447437, "Обмоточная область", 1, "Обмотка возбуждения", 0, 0, -200),
    (-45.637920287744301, -54.38915546144743, "Обмоточная область", 1, "Обмотка возбуждения", 0, 0, 200),
    (45.637920287744286, -54.389155461447444, "Обмоточная область", 1, "Обмотка возбуждения", 0, 0, 200),
    (50, 0, "Обмоточная область", 1, "Обмотка якоря", 0, 2, 50),
    (43.301270189221938, 24.999999999999996, "Обмоточная область", 1, "Обмотка якоря", 0, 2, 50),
    (25.000000000000007, 43.301270189221931, "Обмоточная область", 1, "Обмотка якоря", 0, 2, 50),
    (3.0615158845559431e-15, 50, "Обмоточная область", 1, "Обмотка якоря", 0, 2, 50),
    (-24.999999999999989, 43.301270189221938, "Обмоточная область", 1, "Обмотка якоря", 0, 2, 50),
    (-43.301270189221938, 24.999999999999996, "Обмоточная область", 1, "Обмотка якоря", 0, 2, 50),
    (-50, 6.1230317691118863e-15, "Обмоточная область", 1, "Обмотка якоря", 0, 2, -50),
    (-43.301270189221931, -25.000000000000007, "Обмоточная область", 1, "Обмотка якоря", 0, 2, -50),
    (-25.000000000000021, -43.301270189221917, "Обмоточная область", 1, "Обмотка якоря", 0, 2, -50),
    (-9.1845476536678294e-15, -50, "Обмоточная область", 1, "Обмотка якоря", 0, 2, -50),
    (25.000000000000007, -43.301270189221931, "Обмоточная область", 1, "Обмотка якоря", 0, 2, -50),
    (43.301270189221917, -25.000000000000021, "Обмоточная область", 1, "Обмотка якоря", 0, 2, -50),
    (56.421980601819094, 17.249930578641468, "Воздух", 0.29999999999999999, "", 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: Локальные размеры сетки и готовая модель.
Рисунок 27.27. Машина постоянного тока. Шаг 9: Локальные размеры сетки и готовая модель. Открыть в полном размере

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

Этап 10 из 11

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

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

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

Таблица 27.30. Локальные ограничения сетки по областям
№ меткиМатериалРазмер элемента, ммРежим
0Воздух8,5заданный
1Линейная сталь3заданный
2Линейная сталь2заданный
3Воздух2заданный
4Линейная сталь2заданный
5Линейная сталь2заданный
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Воздух0,3заданный

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

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

Посмотреть программу этапа с русскими комментариями
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: Просмотр сохранённой сетки.
Рисунок 27.28. Машина постоянного тока. Шаг 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. Момент в таблице этого этапа относится к исходной учебной сетке. Уточнённые значения, сравнение методов и файлы рекомендуемой сетки приведены в разделе «Сходимость момента» выше. По исходному количеству выведенных знаков точность не оценивают.
Просмотр готового поля и проверка численных результатов. Новый расчёт нужен только после изменения модели.

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

Таблица 27.31. Результаты всех цепей
ЦепьТок, АПолевое напряжение, ВПотокосцепление, Вб
Обмотка якоря30-0,002636
Обмотка возбуждения200,04573
Таблица 27.32. Объёмные интегралы
ВеличинаЗначение
Энергия, Дж0,04177
Коэнергия, Дж0,04177
Момент, Н·м-0,07276

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

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

Посмотреть программу этапа с русскими комментариями
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("Обмотка якоря"))
# Энергия вычисляется по всем областям эталона.
mo_groupselectblock()
print('Энергия, Дж:', mo_blockintegral(2))
mo_clearblock()
Машина постоянного тока. Шаг 11: Поле и численные результаты.
Рисунок 27.29. Машина постоянного тока. Шаг 11: Поле и численные результаты. Открыть в полном размере