FEMM 5

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

Синхронная реактивная машина

Ротор с четырьмя прямоугольными воздушными барьерами вне вала радиуса 18 мм.

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

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

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

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

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

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

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

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

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

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

Малый ненулевой момент SynRM составляет около −0,00020 Н·м. Выбрано 1 092 896 элементов; контрольная сетка содержит 2 995 028 элементов. Две последние перемены WST меньше 0,00001 Н·м, то есть около 5% этого малого момента. Это наблюдаемая устойчивость, а не подтверждение точности 1%.

Зазор разделён на 32 концентрические воздушные полосы с радиальным шагом 0,0625 мм. Дополнительные линии имеют одинаковый воздух с обеих сторон, группу 0 и не задают граничных условий. Максимальный угловой шаг дуг — 0{,}05968^\circ. Размер блока во внутренних полосах равен их ширине, в двух крайних — 0,5 мм; дуги ограничивают их разбиение по окружности. Контрольная сетка использует 64 полосы с шагом 0,03125 мм.

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

Сходимость момента при увеличении числа конечных элементов
Рисунок 27.30. Результаты настоящих расчётов FEMM 5. Заштрихованная область показывает разброс трёх контуров; это проверка постобработки одного поля. Нажмите на график, чтобы открыть его в полном размере.
Синхронная реактивная машина: выбранная сетка воздушного зазора. Дополнительные окружности в воздушном кольце задают области объёмного радиального усреднения при проверке момента методом Арккио.
Рисунок 27.31. Синхронная реактивная машина: выбранная сетка воздушного зазора. Дополнительные окружности в воздушном кольце задают области объёмного радиального усреднения при проверке момента методом Арккио. Открыть в полном размере
Синхронная реактивная машина: момент ротора на выбранной сетке.
Рисунок 27.32. Синхронная реактивная машина: момент ротора на выбранной сетке. Открыть в полном размере
Таблица 27.33. Сеточная серия: момент в Н·м, размер в зазоре в мм
СеткаРадиальный шаг полос, ммЭлементовWST, Н·мПеремена WSTАрккио, Н·м
Сетка 10,582 16935{,}20231 \times 10^{-6}—65{,}40356 \times 10^{-6}
Сетка 20,25188 366-286,2035 × 10⁻⁶321,4058 × 10⁻⁶ Н·м-216,0698 × 10⁻⁶
Сетка 30,125440 836-192,7563 × 10⁻⁶93{,}44721 \times 10^{-6} Н·м-222,5531 × 10⁻⁶
Сетка 4 · выбрана0,06251 092 896-202,681 × 10⁻⁶9{,}924691 \times 10^{-6} Н·м-205,8732 × 10⁻⁶
Сетка 5 · контроль0,031252 995 028-193,8658 × 10⁻⁶8{,}815152 \times 10^{-6} Н·м-193,3583 × 10⁻⁶

Критерий: абсолютная перемена момента и расхождения методов не более 10^{-4}\,\text{Н}\cdot\text{м}. Для такого малого момента этот допуск не следует переводить в обещание относительной точности 1%. Единичные контуры исходный допуск не прошли. Выбор сетки подтверждают стабилизация WST, объёмное усреднение по кольцу и производная коэнергии; значения контуров показаны для сравнения. При усреднении Арккио исключается по одной крайней воздушной полосе: с уменьшением их ширины кольцо расширяется к поверхностям ротора и статора. Поэтому его серия одновременно уточняет сетку и область усреднения; границы каждого кольца приведены в JSON.

Таблица 27.34. Сравнение методов на выбранной сетке
МетодМомент, Н·мУсловия проверки
Взвешенный интеграл Максвелла (WST)-202,7 × 10⁻⁶Интеграл 22; все области ротора, группа 2
Объёмное усреднение по кольцу (Арккио)-205,9 × 10⁻⁶Кольцо 58,062–59,938 мм; воздух; проверены 3- и 7-точечные квадратуры
Контуры без сглаживания-391,7 × 10⁻⁶ … −0,000308115Точное интегрирование кусочно-постоянного поля на трёх окружностях
Контуры со сглаживанием-228,4 × 10⁻⁶ … −0,00012231Три радиуса; 11520 точек на каждой окружности
Производная коэнергии−0,000206809 … -194,1 × 10⁻⁶Шаги: 0,25, 0{,}5^\circ
Угловые шаги и производная коэнергии

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

Таблица 27.35. Центральная разность при фиксированных токах
Шаг, град.Производная, Н·мРасхождение с WSTПроверка
0,25-206,8 × 10⁻⁶4{,}128 \times 10^{-6} Н·мПринят
0,5-194,1 × 10⁻⁶8{,}597 \times 10^{-6} Н·мПринят

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

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

Этап 1 из 11

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

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

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

Этап 2 из 11

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

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

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

Этап 3 из 11

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

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

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

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

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

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

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

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

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

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

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

Этап 5 из 11

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

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

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

Таблица 27.45. Координаты всех узлов
№ узлаx или r, ммy или z, ммГруппа
0-170-1700
1170-1700
21701700
3-1701700
46000
559,557,3120
655,2323,440
747,9236,110
836,1147,920
923,4455,230
107,31259,550
110600
12-7,31259,550
13-23,4455,230
14-36,1147,920
15-47,9236,110
16-55,2323,440
17-59,557,3120
18-6000
19-59,55-7,3120
20-55,23-23,440
21-47,92-36,110
22-36,11-47,920
23-23,44-55,230
24-7,312-59,550
250-600
267,312-59,550
2723,44-55,230
2836,11-47,920
2947,92-36,110
3055,23-23,440
3159,55-7,3120
3210000
3399,2512,190
3492,0539,070
3579,8660,180
3660,1879,860
3739,0792,050
3812,1999,250
3901000
40-12,1999,250
41-39,0792,050
42-60,1879,860
43-79,8660,180
44-92,0539,070
45-99,2512,190
46-10000
47-99,25-12,190
48-92,05-39,070
49-79,86-60,180
50-60,18-79,860
51-39,07-92,050
52-12,19-99,250
530-1000
5412,19-99,250
5539,07-92,050
5660,18-79,860
5779,86-60,180
5892,05-39,070
5999,25-12,190
6084,37-10,360
618500
6284,3710,360
6378,2433,210
6467,8851,150
6551,1567,880
6633,2178,240
6710,3684,370
680850
69-10,3684,370
70-33,2178,240
71-51,1567,880
72-67,8851,150
73-78,2433,210
74-84,3710,360
75-8500
76-84,37-10,360
77-78,24-33,210
78-67,88-51,150
79-51,15-67,880
80-33,21-78,240
81-10,36-84,370
820-850
8310,36-84,370
8433,21-78,240
8551,15-67,880
8667,88-51,150
8778,24-33,210
881802
8917,872,1942
9016,577,0332
9114,3810,832
9210,8314,382
937,03316,572
942,19417,872
950182
96-2,19417,872
97-7,03316,572
98-10,8314,382
99-14,3810,832
100-16,577,0332
101-17,872,1942
102-1802
103-17,87-2,1942
104-16,57-7,0332
105-14,38-10,832
106-10,83-14,382
107-7,033-16,572
108-2,194-17,872
1090-182
1102,194-17,872
1117,033-16,572
11210,83-14,382
11314,38-10,832
11416,57-7,0332
11517,87-2,1942
1165802
11757,577,0682
11853,3922,662
11946,3234,912
12034,9146,322
12122,6653,392
1227,06857,572
1230582
124-7,06857,572
125-22,6653,392
126-34,9146,322
127-46,3234,912
128-53,3922,662
129-57,577,0682
130-5802
131-57,57-7,0682
132-53,39-22,662
133-46,32-34,912
134-34,91-46,322
135-22,66-53,392
136-7,068-57,572
1370-582
1387,068-57,572
13922,66-53,392
14034,91-46,322
14146,32-34,912
14253,39-22,662
14357,57-7,0682
144-42-162
145-21-162
146-21-122
147-42-122
14821-162
14942-162
15042-122
15121-122
152-42122
153-21122
154-21162
155-42162
15621122
15742122
15842162
15921162

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

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

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

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

Этап 6 из 11

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

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

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

Таблица 27.46. Все отрезки и назначенные границы
№Начальный узелКонечный узелГраницаГруппа
001Нулевой потенциал0
112Нулевой потенциал0
223Нулевой потенциал0
330Нулевой потенциал0
43160Нет0
5562Нет0
6663Нет0
7764Нет0
8865Нет0
9966Нет0
101067Нет0
111269Нет0
121370Нет0
131471Нет0
141572Нет0
151673Нет0
161774Нет0
171976Нет0
182077Нет0
192178Нет0
202279Нет0
212380Нет0
222481Нет0
232683Нет0
242784Нет0
252885Нет0
262986Нет0
273087Нет0
28144145Нет2
29145146Нет2
30146147Нет2
31147144Нет2
32148149Нет2
33149150Нет2
34150151Нет2
35151148Нет2
36152153Нет2
37153154Нет2
38154155Нет2
39155152Нет2
40156157Нет2
41157158Нет2
42158159Нет2
43159156Нет2

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

Таблица 27.47. Все дуги и назначенные границы
№Начальный узелКонечный узелУгол дуги, {}^\circГраницаГруппа
0457Нет0
15616Нет0
26714Нет0
37816Нет0
48914Нет0
591016Нет0
610117Нет0
711127Нет0
8121316Нет0
9131414Нет0
10141516Нет0
11151614Нет0
12161716Нет0
1317187Нет0
1418197Нет0
15192016Нет0
16202114Нет0
17212216Нет0
18222314Нет0
19232416Нет0
2024257Нет0
2125267Нет0
22262716Нет0
23272814Нет0
24282916Нет0
25293014Нет0
26303116Нет0
273147Нет0
2832337Нет0
29333416Нет0
30343514Нет0
31353616Нет0
32363714Нет0
33373816Нет0
3438397Нет0
3539407Нет0
36404116Нет0
37414214Нет0
38424316Нет0
39434414Нет0
40444516Нет0
4145467Нет0
4246477Нет0
43474816Нет0
44484914Нет0
45495016Нет0
46505114Нет0
47515216Нет0
4852537Нет0
4953547Нет0
50545516Нет0
51555614Нет0
52565716Нет0
53575814Нет0
54585916Нет0
5559327Нет0
5660617Нет0
5761627Нет0
58636414Нет0
59656614Нет0
6067687Нет0
6168697Нет0
62707114Нет0
63727314Нет0
6474757Нет0
6575767Нет0
66777814Нет0
67798014Нет0
6881827Нет0
6982837Нет0
70848514Нет0
71868714Нет0
7288897Нет2
73899016Нет2
74909114Нет2
75919216Нет2
76929314Нет2
77939416Нет2
7894957Нет2
7995967Нет2
80969716Нет2
81979814Нет2
82989916Нет2
839910014Нет2
8410010116Нет2
851011027Нет2
861021037Нет2
8710310416Нет2
8810410514Нет2
8910510616Нет2
9010610714Нет2
9110710816Нет2
921081097Нет2
931091107Нет2
9411011116Нет2
9511111214Нет2
9611211316Нет2
9711311414Нет2
9811411516Нет2
99115887Нет2
1001161177Нет2
10111711816Нет2
10211811914Нет2
10311912016Нет2
10412012114Нет2
10512112216Нет2
1061221237Нет2
1071231247Нет2
10812412516Нет2
10912512614Нет2
11012612716Нет2
11112712814Нет2
11212812916Нет2
1131291307Нет2
1141301317Нет2
11513113216Нет2
11613213314Нет2
11713313416Нет2
11813413514Нет2
11913513616Нет2
1201361377Нет2
1211371387Нет2
12213813916Нет2
12313914014Нет2
12414014116Нет2
12514114214Нет2
12614214316Нет2
1271431167Нет2

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

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

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

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

Этап 7 из 11

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

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

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

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

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

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

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Синхронная реактивная машина
# Шаг 7: Метки замкнутых областей
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(0, "millimeters", "planar", 1e-08, 80, 25, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
mi_addmaterial("Воздух", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Обмоточная область", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Линейная сталь", 1000, 1000, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Нелинейная сталь", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addbhpoint("Нелинейная сталь", 0, 0)
mi_addbhpoint("Нелинейная сталь", 0.25, 100)
mi_addbhpoint("Нелинейная сталь", 0.5, 200)
mi_addbhpoint("Нелинейная сталь", 0.90000000000000002, 400)
mi_addbhpoint("Нелинейная сталь", 1.2, 800)
mi_addbhpoint("Нелинейная сталь", 1.45, 2000)
mi_addbhpoint("Нелинейная сталь", 1.6000000000000001, 5000)
mi_addbhpoint("Нелинейная сталь", 1.7, 10000)
mi_addmaterial("Постоянный магнит", 1.05, 1.05, 909456.81766797334, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Фаза А", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза В", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза С", complex(-2, 0), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
    (-170, -170, 0),
    (170, -170, 0),
    (170, 170, 0),
    (-170, 170, 0),
    (60, 0, 0),
    (59.552769098479317, 7.3121606043088487, 0),
    (55.230291207146422, 23.443867709356425, 0),
    (47.918130602837572, 36.108901389122899, 0),
    (36.108901389122906, 47.918130602837572, 0),
    (23.443867709356422, 55.230291207146422, 0),
    (7.3121606043088496, 59.552769098479317, 0),
    (3.6738190614671318e-15, 60, 0),
    (-7.3121606043088416, 59.552769098479324, 0),
    (-23.443867709356425, 55.230291207146415, 0),
    (-36.108901389122906, 47.918130602837564, 0),
    (-47.918130602837579, 36.108901389122892, 0),
    (-55.230291207146422, 23.443867709356425, 0),
    (-59.552769098479317, 7.3121606043088523, 0),
    (-60, 7.3476381229342635e-15, 0),
    (-59.552769098479324, -7.312160604308839, 0),
    (-55.230291207146422, -23.443867709356415, 0),
    (-47.918130602837572, -36.108901389122906, 0),
    (-36.108901389122899, -47.918130602837572, 0),
    (-23.443867709356429, -55.230291207146415, 0),
    (-7.3121606043088301, -59.552769098479324, 0),
    (-1.1021457184401395e-14, -60, 0),
    (7.3121606043088612, -59.552769098479317, 0),
    (23.443867709356411, -55.230291207146429, 0),
    (36.108901389122877, -47.918130602837586, 0),
    (47.918130602837572, -36.108901389122899, 0),
    (55.230291207146415, -23.443867709356432, 0),
    (59.552769098479324, -7.3121606043088336, 0),
    (100, 0, 0),
    (99.254615164132204, 12.186934340514748, 0),
    (92.050485345244041, 39.07311284892738, 0),
    (79.863551004729288, 60.181502315204824, 0),
    (60.181502315204838, 79.863551004729288, 0),
    (39.073112848927373, 92.050485345244041, 0),
    (12.18693434051475, 99.254615164132204, 0),
    (6.1230317691118863e-15, 100, 0),
    (-12.186934340514737, 99.254615164132204, 0),
    (-39.07311284892738, 92.050485345244027, 0),
    (-60.181502315204838, 79.863551004729274, 0),
    (-79.863551004729288, 60.181502315204817, 0),
    (-92.050485345244041, 39.07311284892738, 0),
    (-99.254615164132204, 12.186934340514755, 0),
    (-100, 1.2246063538223773e-14, 0),
    (-99.254615164132204, -12.18693434051473, 0),
    (-92.050485345244041, -39.073112848927352, 0),
    (-79.863551004729288, -60.181502315204838, 0),
    (-60.181502315204824, -79.863551004729288, 0),
    (-39.07311284892738, -92.050485345244027, 0),
    (-12.186934340514718, -99.254615164132204, 0),
    (-1.8369095307335659e-14, -100, 0),
    (12.186934340514769, -99.254615164132204, 0),
    (39.073112848927352, -92.050485345244056, 0),
    (60.181502315204796, -79.863551004729302, 0),
    (79.863551004729288, -60.181502315204824, 0),
    (92.050485345244027, -39.073112848927387, 0),
    (99.254615164132204, -12.186934340514723, 0),
    (84.366422889512378, -10.358894189437514, 0),
    (85, -2.0818308014980413e-14, 0),
    (84.366422889512364, 10.358894189437548, 0),
    (78.242912543457436, 33.212145921588274, 0),
    (67.884018354019886, 51.154276967924105, 0),
    (51.154276967924112, 67.884018354019886, 0),
    (33.212145921588267, 78.242912543457436, 0),
    (10.358894189437537, 84.366422889512364, 0),
    (5.2045770037451033e-15, 85, 0),
    (-10.358894189437526, 84.366422889512378, 0),
    (-33.212145921588274, 78.242912543457422, 0),
    (-51.154276967924112, 67.884018354019886, 0),
    (-67.884018354019901, 51.154276967924091, 0),
    (-78.242912543457436, 33.212145921588274, 0),
    (-84.366422889512364, 10.358894189437541, 0),
    (-85, 1.0409154007490207e-14, 0),
    (-84.366422889512378, -10.358894189437521, 0),
    (-78.242912543457436, -33.212145921588252, 0),
    (-67.884018354019886, -51.154276967924112, 0),
    (-51.154276967924105, -67.884018354019886, 0),
    (-33.212145921588274, -78.242912543457422, 0),
    (-10.35889418943751, -84.366422889512378, 0),
    (-1.561373101123531e-14, -85, 0),
    (10.358894189437553, -84.366422889512364, 0),
    (33.212145921588245, -78.242912543457436, 0),
    (51.154276967924076, -67.884018354019915, 0),
    (67.884018354019886, -51.154276967924105, 0),
    (78.242912543457422, -33.212145921588281, 0),
    (18, 0, 2),
    (17.865830729543795, 2.1936481812926547, 2),
    (16.569087362143925, 7.0331603128069275, 2),
    (14.37543918085127, 10.832670416736869, 2),
    (10.832670416736871, 14.37543918085127, 2),
    (7.0331603128069267, 16.569087362143925, 2),
    (2.1936481812926547, 17.865830729543795, 2),
    (1.1021457184401395e-15, 18, 2),
    (-2.1936481812926525, 17.865830729543799, 2),
    (-7.0331603128069275, 16.569087362143925, 2),
    (-10.832670416736871, 14.375439180851268, 2),
    (-14.375439180851274, 10.832670416736867, 2),
    (-16.569087362143925, 7.0331603128069275, 2),
    (-17.865830729543795, 2.193648181292656, 2),
    (-18, 2.2042914368802791e-15, 2),
    (-17.865830729543799, -2.1936481812926516, 2),
    (-16.569087362143925, -7.033160312806924, 2),
    (-14.37543918085127, -10.832670416736871, 2),
    (-10.832670416736869, -14.37543918085127, 2),
    (-7.0331603128069293, -16.569087362143925, 2),
    (-2.1936481812926489, -17.865830729543799, 2),
    (-3.3064371553204186e-15, -18, 2),
    (2.1936481812926583, -17.865830729543795, 2),
    (7.0331603128069231, -16.569087362143929, 2),
    (10.832670416736862, -14.375439180851275, 2),
    (14.37543918085127, -10.832670416736869, 2),
    (16.569087362143925, -7.0331603128069302, 2),
    (17.865830729543799, -2.1936481812926503, 2),
    (58, 0, 2),
    (57.567676795196675, 7.0684219174985534, 2),
    (53.389281500241545, 22.662405452377879, 2),
    (46.320859582742983, 34.9052713428188, 2),
    (34.905271342818807, 46.320859582742983, 2),
    (22.662405452377875, 53.389281500241545, 2),
    (7.0684219174985543, 57.567676795196675, 2),
    (3.551358426084894e-15, 58, 2),
    (-7.0684219174985472, 57.567676795196682, 2),
    (-22.662405452377879, 53.389281500241538, 2),
    (-34.905271342818807, 46.320859582742976, 2),
    (-46.32085958274299, 34.905271342818793, 2),
    (-53.389281500241545, 22.662405452377879, 2),
    (-57.567676795196675, 7.0684219174985579, 2),
    (-58, 7.1027168521697881e-15, 2),
    (-57.567676795196682, -7.0684219174985436, 2),
    (-53.389281500241545, -22.662405452377865, 2),
    (-46.320859582742983, -34.905271342818807, 2),
    (-34.9052713428188, -46.320859582742983, 2),
    (-22.662405452377882, -53.389281500241538, 2),
    (-7.0684219174985357, -57.567676795196682, 2),
    (-1.0654075278254682e-14, -58, 2),
    (7.0684219174985659, -57.567676795196675, 2),
    (22.662405452377861, -53.389281500241552, 2),
    (34.905271342818779, -46.320859582742997, 2),
    (46.320859582742983, -34.9052713428188, 2),
    (53.389281500241538, -22.662405452377886, 2),
    (57.567676795196682, -7.0684219174985392, 2),
    (-42, -16, 2),
    (-21, -16, 2),
    (-21, -12, 2),
    (-42, -12, 2),
    (21, -16, 2),
    (42, -16, 2),
    (42, -12, 2),
    (21, -12, 2),
    (-42, 12, 2),
    (-21, 12, 2),
    (-21, 16, 2),
    (-42, 16, 2),
    (21, 12, 2),
    (42, 12, 2),
    (42, 16, 2),
    (21, 16, 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),
    (31, 60, -1, "", 0, 0),
    (5, 62, -1, "", 0, 0),
    (6, 63, -1, "", 0, 0),
    (7, 64, -1, "", 0, 0),
    (8, 65, -1, "", 0, 0),
    (9, 66, -1, "", 0, 0),
    (10, 67, -1, "", 0, 0),
    (12, 69, -1, "", 0, 0),
    (13, 70, -1, "", 0, 0),
    (14, 71, -1, "", 0, 0),
    (15, 72, -1, "", 0, 0),
    (16, 73, -1, "", 0, 0),
    (17, 74, -1, "", 0, 0),
    (19, 76, -1, "", 0, 0),
    (20, 77, -1, "", 0, 0),
    (21, 78, -1, "", 0, 0),
    (22, 79, -1, "", 0, 0),
    (23, 80, -1, "", 0, 0),
    (24, 81, -1, "", 0, 0),
    (26, 83, -1, "", 0, 0),
    (27, 84, -1, "", 0, 0),
    (28, 85, -1, "", 0, 0),
    (29, 86, -1, "", 0, 0),
    (30, 87, -1, "", 0, 0),
    (144, 145, -1, "", 0, 2),
    (145, 146, -1, "", 0, 2),
    (146, 147, -1, "", 0, 2),
    (147, 144, -1, "", 0, 2),
    (148, 149, -1, "", 0, 2),
    (149, 150, -1, "", 0, 2),
    (150, 151, -1, "", 0, 2),
    (151, 148, -1, "", 0, 2),
    (152, 153, -1, "", 0, 2),
    (153, 154, -1, "", 0, 2),
    (154, 155, -1, "", 0, 2),
    (155, 152, -1, "", 0, 2),
    (156, 157, -1, "", 0, 2),
    (157, 158, -1, "", 0, 2),
    (158, 159, -1, "", 0, 2),
    (159, 156, -1, "", 0, 2),
]
for a, b, size, boundary, hidden, group in _segments:
    x0, y0 = _nodes[a][:2]
    x1, y1 = _nodes[b][:2]
    mi_addsegment(x0, y0, x1, y1)
    mi_selectsegment((x0+x1)/2, (y0+y1)/2)
    mi_setsegmentprop(boundary, size, 1 if size <= 0 else 0, hidden, group)
    mi_clearselected()
# Дуги: угол против часовой стрелки и максимальный угол элемента в градусах.
_arcs = [
    (4, 5, 7, 10, "", 0, 0),
    (5, 6, 16, 10, "", 0, 0),
    (6, 7, 14, 10, "", 0, 0),
    (7, 8, 16, 10, "", 0, 0),
    (8, 9, 14, 10, "", 0, 0),
    (9, 10, 16, 10, "", 0, 0),
    (10, 11, 7, 10, "", 0, 0),
    (11, 12, 7, 10, "", 0, 0),
    (12, 13, 16, 10, "", 0, 0),
    (13, 14, 14, 10, "", 0, 0),
    (14, 15, 16, 10, "", 0, 0),
    (15, 16, 14, 10, "", 0, 0),
    (16, 17, 16, 10, "", 0, 0),
    (17, 18, 7, 10, "", 0, 0),
    (18, 19, 7, 10, "", 0, 0),
    (19, 20, 16, 10, "", 0, 0),
    (20, 21, 14, 10, "", 0, 0),
    (21, 22, 16, 10, "", 0, 0),
    (22, 23, 14, 10, "", 0, 0),
    (23, 24, 16, 10, "", 0, 0),
    (24, 25, 7, 10, "", 0, 0),
    (25, 26, 7, 10, "", 0, 0),
    (26, 27, 16, 10, "", 0, 0),
    (27, 28, 14, 10, "", 0, 0),
    (28, 29, 16, 10, "", 0, 0),
    (29, 30, 14, 10, "", 0, 0),
    (30, 31, 16, 10, "", 0, 0),
    (31, 4, 7, 10, "", 0, 0),
    (32, 33, 7, 10, "", 0, 0),
    (33, 34, 16, 10, "", 0, 0),
    (34, 35, 14, 10, "", 0, 0),
    (35, 36, 16, 10, "", 0, 0),
    (36, 37, 14, 10, "", 0, 0),
    (37, 38, 16, 10, "", 0, 0),
    (38, 39, 7, 10, "", 0, 0),
    (39, 40, 7, 10, "", 0, 0),
    (40, 41, 16, 10, "", 0, 0),
    (41, 42, 14, 10, "", 0, 0),
    (42, 43, 16, 10, "", 0, 0),
    (43, 44, 14, 10, "", 0, 0),
    (44, 45, 16, 10, "", 0, 0),
    (45, 46, 7, 10, "", 0, 0),
    (46, 47, 7, 10, "", 0, 0),
    (47, 48, 16, 10, "", 0, 0),
    (48, 49, 14, 10, "", 0, 0),
    (49, 50, 16, 10, "", 0, 0),
    (50, 51, 14, 10, "", 0, 0),
    (51, 52, 16, 10, "", 0, 0),
    (52, 53, 7, 10, "", 0, 0),
    (53, 54, 7, 10, "", 0, 0),
    (54, 55, 16, 10, "", 0, 0),
    (55, 56, 14, 10, "", 0, 0),
    (56, 57, 16, 10, "", 0, 0),
    (57, 58, 14, 10, "", 0, 0),
    (58, 59, 16, 10, "", 0, 0),
    (59, 32, 7, 10, "", 0, 0),
    (60, 61, 7, 10, "", 0, 0),
    (61, 62, 7, 10, "", 0, 0),
    (63, 64, 14, 10, "", 0, 0),
    (65, 66, 14, 10, "", 0, 0),
    (67, 68, 7, 10, "", 0, 0),
    (68, 69, 7, 10, "", 0, 0),
    (70, 71, 14, 10, "", 0, 0),
    (72, 73, 14, 10, "", 0, 0),
    (74, 75, 7, 10, "", 0, 0),
    (75, 76, 7, 10, "", 0, 0),
    (77, 78, 14, 10, "", 0, 0),
    (79, 80, 14, 10, "", 0, 0),
    (81, 82, 7, 10, "", 0, 0),
    (82, 83, 7, 10, "", 0, 0),
    (84, 85, 14, 10, "", 0, 0),
    (86, 87, 14, 10, "", 0, 0),
    (88, 89, 7, 10, "", 0, 2),
    (89, 90, 16, 10, "", 0, 2),
    (90, 91, 14, 10, "", 0, 2),
    (91, 92, 16, 10, "", 0, 2),
    (92, 93, 14, 10, "", 0, 2),
    (93, 94, 16, 10, "", 0, 2),
    (94, 95, 7, 10, "", 0, 2),
    (95, 96, 7, 10, "", 0, 2),
    (96, 97, 16, 10, "", 0, 2),
    (97, 98, 14, 10, "", 0, 2),
    (98, 99, 16, 10, "", 0, 2),
    (99, 100, 14, 10, "", 0, 2),
    (100, 101, 16, 10, "", 0, 2),
    (101, 102, 7, 10, "", 0, 2),
    (102, 103, 7, 10, "", 0, 2),
    (103, 104, 16, 10, "", 0, 2),
    (104, 105, 14, 10, "", 0, 2),
    (105, 106, 16, 10, "", 0, 2),
    (106, 107, 14, 10, "", 0, 2),
    (107, 108, 16, 10, "", 0, 2),
    (108, 109, 7, 10, "", 0, 2),
    (109, 110, 7, 10, "", 0, 2),
    (110, 111, 16, 10, "", 0, 2),
    (111, 112, 14, 10, "", 0, 2),
    (112, 113, 16, 10, "", 0, 2),
    (113, 114, 14, 10, "", 0, 2),
    (114, 115, 16, 10, "", 0, 2),
    (115, 88, 7, 10, "", 0, 2),
    (116, 117, 7, 10, "", 0, 2),
    (117, 118, 16, 10, "", 0, 2),
    (118, 119, 14, 10, "", 0, 2),
    (119, 120, 16, 10, "", 0, 2),
    (120, 121, 14, 10, "", 0, 2),
    (121, 122, 16, 10, "", 0, 2),
    (122, 123, 7, 10, "", 0, 2),
    (123, 124, 7, 10, "", 0, 2),
    (124, 125, 16, 10, "", 0, 2),
    (125, 126, 14, 10, "", 0, 2),
    (126, 127, 16, 10, "", 0, 2),
    (127, 128, 14, 10, "", 0, 2),
    (128, 129, 16, 10, "", 0, 2),
    (129, 130, 7, 10, "", 0, 2),
    (130, 131, 7, 10, "", 0, 2),
    (131, 132, 16, 10, "", 0, 2),
    (132, 133, 14, 10, "", 0, 2),
    (133, 134, 16, 10, "", 0, 2),
    (134, 135, 14, 10, "", 0, 2),
    (135, 136, 16, 10, "", 0, 2),
    (136, 137, 7, 10, "", 0, 2),
    (137, 138, 7, 10, "", 0, 2),
    (138, 139, 16, 10, "", 0, 2),
    (139, 140, 14, 10, "", 0, 2),
    (140, 141, 16, 10, "", 0, 2),
    (141, 142, 14, 10, "", 0, 2),
    (142, 143, 16, 10, "", 0, 2),
    (143, 116, 7, 10, "", 0, 2),
]
for a, b, angle, max_angle, boundary, hidden, group in _arcs:
    x0, y0 = _nodes[a][:2]
    x1, y1 = _nodes[b][:2]
    mi_addarc(x0, y0, x1, y1, angle, max_angle)
    half = math.radians(angle)/2
    cx = (x0+x1)/2 - (y1-y0)/(2*math.tan(half))
    cy = (y0+y1)/2 + (x1-x0)/(2*math.tan(half))
    xm = cx + (x0-cx)*math.cos(half) - (y0-cy)*math.sin(half)
    ym = cy + (x0-cx)*math.sin(half) + (y0-cy)*math.cos(half)
    mi_selectarcsegment(xm, ym)
    mi_setarcsegmentprop(max_angle, boundary, hidden, group)
    mi_clearselected()
# Метки: положение, материал, размер элемента, цепь, намагничивание, группа, витки.
_labels = [
    (144.5, 144.5, "", 0, "", 0, 0, 1),
    (0, 94, "", 0, "", 0, 0, 1),
    (73, 0, "", 0, "", 0, 0, 1),
    (63.219854476264025, 36.499999999999993, "", 0, "", 0, 0, 1),
    (36.500000000000007, 63.219854476264018, "", 0, "", 0, 0, 1),
    (4.469813191451677e-15, 73, "", 0, "", 0, 0, 1),
    (-36.499999999999986, 63.219854476264025, "", 0, "", 0, 0, 1),
    (-63.219854476264025, 36.499999999999993, "", 0, "", 0, 0, 1),
    (-73, 8.939626382903354e-15, "", 0, "", 0, 0, 1),
    (-63.219854476264018, -36.500000000000007, "", 0, "", 0, 0, 1),
    (-36.500000000000036, -63.219854476264004, "", 0, "", 0, 0, 1),
    (-1.3409439574355031e-14, -73, "", 0, "", 0, 0, 1),
    (36.500000000000007, -63.219854476264018, "", 0, "", 0, 0, 1),
    (63.219854476264004, -36.500000000000036, "", 0, "", 0, 0, 1),
    (27, 0, "", 0, "", 0, 0, 1),
    (-31.5, -14, "", 0, "", 0, 0, 1),
    (31.5, -14, "", 0, "", 0, 0, 1),
    (-31.5, 14, "", 0, "", 0, 0, 1),
    (31.5, 14, "", 0, "", 0, 0, 1),
    (0, 0, "", 0, "", 0, 0, 1),
    (56.421980601819094, 17.249930578641468, "", 0, "", 0, 0, 1),
]
for x, y, material, size, circuit, direction, group, turns in _labels:
    mi_addblocklabel(x, y)
    if material:
        mi_selectlabel(x, y)
        mi_setblockprop(material, 1 if size <= 0 else 0, size, circuit, direction, group, turns)
        mi_clearselected()
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 7. Модель неполная: переходите к следующему этапу, не запускайте решение.")
Синхронная реактивная машина. Шаг 7: Метки замкнутых областей.
Рисунок 27.39. Синхронная реактивная машина. Шаг 7: Метки замкнутых областей. Открыть в полном размере

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

Этап 8 из 11

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

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

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

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

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

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

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Синхронная реактивная машина
# Шаг 8: Назначения материалов и обмоток
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(0, "millimeters", "planar", 1e-08, 80, 25, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
mi_addmaterial("Воздух", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Обмоточная область", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Линейная сталь", 1000, 1000, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Нелинейная сталь", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addbhpoint("Нелинейная сталь", 0, 0)
mi_addbhpoint("Нелинейная сталь", 0.25, 100)
mi_addbhpoint("Нелинейная сталь", 0.5, 200)
mi_addbhpoint("Нелинейная сталь", 0.90000000000000002, 400)
mi_addbhpoint("Нелинейная сталь", 1.2, 800)
mi_addbhpoint("Нелинейная сталь", 1.45, 2000)
mi_addbhpoint("Нелинейная сталь", 1.6000000000000001, 5000)
mi_addbhpoint("Нелинейная сталь", 1.7, 10000)
mi_addmaterial("Постоянный магнит", 1.05, 1.05, 909456.81766797334, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Фаза А", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза В", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза С", complex(-2, 0), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
    (-170, -170, 0),
    (170, -170, 0),
    (170, 170, 0),
    (-170, 170, 0),
    (60, 0, 0),
    (59.552769098479317, 7.3121606043088487, 0),
    (55.230291207146422, 23.443867709356425, 0),
    (47.918130602837572, 36.108901389122899, 0),
    (36.108901389122906, 47.918130602837572, 0),
    (23.443867709356422, 55.230291207146422, 0),
    (7.3121606043088496, 59.552769098479317, 0),
    (3.6738190614671318e-15, 60, 0),
    (-7.3121606043088416, 59.552769098479324, 0),
    (-23.443867709356425, 55.230291207146415, 0),
    (-36.108901389122906, 47.918130602837564, 0),
    (-47.918130602837579, 36.108901389122892, 0),
    (-55.230291207146422, 23.443867709356425, 0),
    (-59.552769098479317, 7.3121606043088523, 0),
    (-60, 7.3476381229342635e-15, 0),
    (-59.552769098479324, -7.312160604308839, 0),
    (-55.230291207146422, -23.443867709356415, 0),
    (-47.918130602837572, -36.108901389122906, 0),
    (-36.108901389122899, -47.918130602837572, 0),
    (-23.443867709356429, -55.230291207146415, 0),
    (-7.3121606043088301, -59.552769098479324, 0),
    (-1.1021457184401395e-14, -60, 0),
    (7.3121606043088612, -59.552769098479317, 0),
    (23.443867709356411, -55.230291207146429, 0),
    (36.108901389122877, -47.918130602837586, 0),
    (47.918130602837572, -36.108901389122899, 0),
    (55.230291207146415, -23.443867709356432, 0),
    (59.552769098479324, -7.3121606043088336, 0),
    (100, 0, 0),
    (99.254615164132204, 12.186934340514748, 0),
    (92.050485345244041, 39.07311284892738, 0),
    (79.863551004729288, 60.181502315204824, 0),
    (60.181502315204838, 79.863551004729288, 0),
    (39.073112848927373, 92.050485345244041, 0),
    (12.18693434051475, 99.254615164132204, 0),
    (6.1230317691118863e-15, 100, 0),
    (-12.186934340514737, 99.254615164132204, 0),
    (-39.07311284892738, 92.050485345244027, 0),
    (-60.181502315204838, 79.863551004729274, 0),
    (-79.863551004729288, 60.181502315204817, 0),
    (-92.050485345244041, 39.07311284892738, 0),
    (-99.254615164132204, 12.186934340514755, 0),
    (-100, 1.2246063538223773e-14, 0),
    (-99.254615164132204, -12.18693434051473, 0),
    (-92.050485345244041, -39.073112848927352, 0),
    (-79.863551004729288, -60.181502315204838, 0),
    (-60.181502315204824, -79.863551004729288, 0),
    (-39.07311284892738, -92.050485345244027, 0),
    (-12.186934340514718, -99.254615164132204, 0),
    (-1.8369095307335659e-14, -100, 0),
    (12.186934340514769, -99.254615164132204, 0),
    (39.073112848927352, -92.050485345244056, 0),
    (60.181502315204796, -79.863551004729302, 0),
    (79.863551004729288, -60.181502315204824, 0),
    (92.050485345244027, -39.073112848927387, 0),
    (99.254615164132204, -12.186934340514723, 0),
    (84.366422889512378, -10.358894189437514, 0),
    (85, -2.0818308014980413e-14, 0),
    (84.366422889512364, 10.358894189437548, 0),
    (78.242912543457436, 33.212145921588274, 0),
    (67.884018354019886, 51.154276967924105, 0),
    (51.154276967924112, 67.884018354019886, 0),
    (33.212145921588267, 78.242912543457436, 0),
    (10.358894189437537, 84.366422889512364, 0),
    (5.2045770037451033e-15, 85, 0),
    (-10.358894189437526, 84.366422889512378, 0),
    (-33.212145921588274, 78.242912543457422, 0),
    (-51.154276967924112, 67.884018354019886, 0),
    (-67.884018354019901, 51.154276967924091, 0),
    (-78.242912543457436, 33.212145921588274, 0),
    (-84.366422889512364, 10.358894189437541, 0),
    (-85, 1.0409154007490207e-14, 0),
    (-84.366422889512378, -10.358894189437521, 0),
    (-78.242912543457436, -33.212145921588252, 0),
    (-67.884018354019886, -51.154276967924112, 0),
    (-51.154276967924105, -67.884018354019886, 0),
    (-33.212145921588274, -78.242912543457422, 0),
    (-10.35889418943751, -84.366422889512378, 0),
    (-1.561373101123531e-14, -85, 0),
    (10.358894189437553, -84.366422889512364, 0),
    (33.212145921588245, -78.242912543457436, 0),
    (51.154276967924076, -67.884018354019915, 0),
    (67.884018354019886, -51.154276967924105, 0),
    (78.242912543457422, -33.212145921588281, 0),
    (18, 0, 2),
    (17.865830729543795, 2.1936481812926547, 2),
    (16.569087362143925, 7.0331603128069275, 2),
    (14.37543918085127, 10.832670416736869, 2),
    (10.832670416736871, 14.37543918085127, 2),
    (7.0331603128069267, 16.569087362143925, 2),
    (2.1936481812926547, 17.865830729543795, 2),
    (1.1021457184401395e-15, 18, 2),
    (-2.1936481812926525, 17.865830729543799, 2),
    (-7.0331603128069275, 16.569087362143925, 2),
    (-10.832670416736871, 14.375439180851268, 2),
    (-14.375439180851274, 10.832670416736867, 2),
    (-16.569087362143925, 7.0331603128069275, 2),
    (-17.865830729543795, 2.193648181292656, 2),
    (-18, 2.2042914368802791e-15, 2),
    (-17.865830729543799, -2.1936481812926516, 2),
    (-16.569087362143925, -7.033160312806924, 2),
    (-14.37543918085127, -10.832670416736871, 2),
    (-10.832670416736869, -14.37543918085127, 2),
    (-7.0331603128069293, -16.569087362143925, 2),
    (-2.1936481812926489, -17.865830729543799, 2),
    (-3.3064371553204186e-15, -18, 2),
    (2.1936481812926583, -17.865830729543795, 2),
    (7.0331603128069231, -16.569087362143929, 2),
    (10.832670416736862, -14.375439180851275, 2),
    (14.37543918085127, -10.832670416736869, 2),
    (16.569087362143925, -7.0331603128069302, 2),
    (17.865830729543799, -2.1936481812926503, 2),
    (58, 0, 2),
    (57.567676795196675, 7.0684219174985534, 2),
    (53.389281500241545, 22.662405452377879, 2),
    (46.320859582742983, 34.9052713428188, 2),
    (34.905271342818807, 46.320859582742983, 2),
    (22.662405452377875, 53.389281500241545, 2),
    (7.0684219174985543, 57.567676795196675, 2),
    (3.551358426084894e-15, 58, 2),
    (-7.0684219174985472, 57.567676795196682, 2),
    (-22.662405452377879, 53.389281500241538, 2),
    (-34.905271342818807, 46.320859582742976, 2),
    (-46.32085958274299, 34.905271342818793, 2),
    (-53.389281500241545, 22.662405452377879, 2),
    (-57.567676795196675, 7.0684219174985579, 2),
    (-58, 7.1027168521697881e-15, 2),
    (-57.567676795196682, -7.0684219174985436, 2),
    (-53.389281500241545, -22.662405452377865, 2),
    (-46.320859582742983, -34.905271342818807, 2),
    (-34.9052713428188, -46.320859582742983, 2),
    (-22.662405452377882, -53.389281500241538, 2),
    (-7.0684219174985357, -57.567676795196682, 2),
    (-1.0654075278254682e-14, -58, 2),
    (7.0684219174985659, -57.567676795196675, 2),
    (22.662405452377861, -53.389281500241552, 2),
    (34.905271342818779, -46.320859582742997, 2),
    (46.320859582742983, -34.9052713428188, 2),
    (53.389281500241538, -22.662405452377886, 2),
    (57.567676795196682, -7.0684219174985392, 2),
    (-42, -16, 2),
    (-21, -16, 2),
    (-21, -12, 2),
    (-42, -12, 2),
    (21, -16, 2),
    (42, -16, 2),
    (42, -12, 2),
    (21, -12, 2),
    (-42, 12, 2),
    (-21, 12, 2),
    (-21, 16, 2),
    (-42, 16, 2),
    (21, 12, 2),
    (42, 12, 2),
    (42, 16, 2),
    (21, 16, 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),
    (31, 60, -1, "", 0, 0),
    (5, 62, -1, "", 0, 0),
    (6, 63, -1, "", 0, 0),
    (7, 64, -1, "", 0, 0),
    (8, 65, -1, "", 0, 0),
    (9, 66, -1, "", 0, 0),
    (10, 67, -1, "", 0, 0),
    (12, 69, -1, "", 0, 0),
    (13, 70, -1, "", 0, 0),
    (14, 71, -1, "", 0, 0),
    (15, 72, -1, "", 0, 0),
    (16, 73, -1, "", 0, 0),
    (17, 74, -1, "", 0, 0),
    (19, 76, -1, "", 0, 0),
    (20, 77, -1, "", 0, 0),
    (21, 78, -1, "", 0, 0),
    (22, 79, -1, "", 0, 0),
    (23, 80, -1, "", 0, 0),
    (24, 81, -1, "", 0, 0),
    (26, 83, -1, "", 0, 0),
    (27, 84, -1, "", 0, 0),
    (28, 85, -1, "", 0, 0),
    (29, 86, -1, "", 0, 0),
    (30, 87, -1, "", 0, 0),
    (144, 145, -1, "", 0, 2),
    (145, 146, -1, "", 0, 2),
    (146, 147, -1, "", 0, 2),
    (147, 144, -1, "", 0, 2),
    (148, 149, -1, "", 0, 2),
    (149, 150, -1, "", 0, 2),
    (150, 151, -1, "", 0, 2),
    (151, 148, -1, "", 0, 2),
    (152, 153, -1, "", 0, 2),
    (153, 154, -1, "", 0, 2),
    (154, 155, -1, "", 0, 2),
    (155, 152, -1, "", 0, 2),
    (156, 157, -1, "", 0, 2),
    (157, 158, -1, "", 0, 2),
    (158, 159, -1, "", 0, 2),
    (159, 156, -1, "", 0, 2),
]
for a, b, size, boundary, hidden, group in _segments:
    x0, y0 = _nodes[a][:2]
    x1, y1 = _nodes[b][:2]
    mi_addsegment(x0, y0, x1, y1)
    mi_selectsegment((x0+x1)/2, (y0+y1)/2)
    mi_setsegmentprop(boundary, size, 1 if size <= 0 else 0, hidden, group)
    mi_clearselected()
# Дуги: угол против часовой стрелки и максимальный угол элемента в градусах.
_arcs = [
    (4, 5, 7, 10, "", 0, 0),
    (5, 6, 16, 10, "", 0, 0),
    (6, 7, 14, 10, "", 0, 0),
    (7, 8, 16, 10, "", 0, 0),
    (8, 9, 14, 10, "", 0, 0),
    (9, 10, 16, 10, "", 0, 0),
    (10, 11, 7, 10, "", 0, 0),
    (11, 12, 7, 10, "", 0, 0),
    (12, 13, 16, 10, "", 0, 0),
    (13, 14, 14, 10, "", 0, 0),
    (14, 15, 16, 10, "", 0, 0),
    (15, 16, 14, 10, "", 0, 0),
    (16, 17, 16, 10, "", 0, 0),
    (17, 18, 7, 10, "", 0, 0),
    (18, 19, 7, 10, "", 0, 0),
    (19, 20, 16, 10, "", 0, 0),
    (20, 21, 14, 10, "", 0, 0),
    (21, 22, 16, 10, "", 0, 0),
    (22, 23, 14, 10, "", 0, 0),
    (23, 24, 16, 10, "", 0, 0),
    (24, 25, 7, 10, "", 0, 0),
    (25, 26, 7, 10, "", 0, 0),
    (26, 27, 16, 10, "", 0, 0),
    (27, 28, 14, 10, "", 0, 0),
    (28, 29, 16, 10, "", 0, 0),
    (29, 30, 14, 10, "", 0, 0),
    (30, 31, 16, 10, "", 0, 0),
    (31, 4, 7, 10, "", 0, 0),
    (32, 33, 7, 10, "", 0, 0),
    (33, 34, 16, 10, "", 0, 0),
    (34, 35, 14, 10, "", 0, 0),
    (35, 36, 16, 10, "", 0, 0),
    (36, 37, 14, 10, "", 0, 0),
    (37, 38, 16, 10, "", 0, 0),
    (38, 39, 7, 10, "", 0, 0),
    (39, 40, 7, 10, "", 0, 0),
    (40, 41, 16, 10, "", 0, 0),
    (41, 42, 14, 10, "", 0, 0),
    (42, 43, 16, 10, "", 0, 0),
    (43, 44, 14, 10, "", 0, 0),
    (44, 45, 16, 10, "", 0, 0),
    (45, 46, 7, 10, "", 0, 0),
    (46, 47, 7, 10, "", 0, 0),
    (47, 48, 16, 10, "", 0, 0),
    (48, 49, 14, 10, "", 0, 0),
    (49, 50, 16, 10, "", 0, 0),
    (50, 51, 14, 10, "", 0, 0),
    (51, 52, 16, 10, "", 0, 0),
    (52, 53, 7, 10, "", 0, 0),
    (53, 54, 7, 10, "", 0, 0),
    (54, 55, 16, 10, "", 0, 0),
    (55, 56, 14, 10, "", 0, 0),
    (56, 57, 16, 10, "", 0, 0),
    (57, 58, 14, 10, "", 0, 0),
    (58, 59, 16, 10, "", 0, 0),
    (59, 32, 7, 10, "", 0, 0),
    (60, 61, 7, 10, "", 0, 0),
    (61, 62, 7, 10, "", 0, 0),
    (63, 64, 14, 10, "", 0, 0),
    (65, 66, 14, 10, "", 0, 0),
    (67, 68, 7, 10, "", 0, 0),
    (68, 69, 7, 10, "", 0, 0),
    (70, 71, 14, 10, "", 0, 0),
    (72, 73, 14, 10, "", 0, 0),
    (74, 75, 7, 10, "", 0, 0),
    (75, 76, 7, 10, "", 0, 0),
    (77, 78, 14, 10, "", 0, 0),
    (79, 80, 14, 10, "", 0, 0),
    (81, 82, 7, 10, "", 0, 0),
    (82, 83, 7, 10, "", 0, 0),
    (84, 85, 14, 10, "", 0, 0),
    (86, 87, 14, 10, "", 0, 0),
    (88, 89, 7, 10, "", 0, 2),
    (89, 90, 16, 10, "", 0, 2),
    (90, 91, 14, 10, "", 0, 2),
    (91, 92, 16, 10, "", 0, 2),
    (92, 93, 14, 10, "", 0, 2),
    (93, 94, 16, 10, "", 0, 2),
    (94, 95, 7, 10, "", 0, 2),
    (95, 96, 7, 10, "", 0, 2),
    (96, 97, 16, 10, "", 0, 2),
    (97, 98, 14, 10, "", 0, 2),
    (98, 99, 16, 10, "", 0, 2),
    (99, 100, 14, 10, "", 0, 2),
    (100, 101, 16, 10, "", 0, 2),
    (101, 102, 7, 10, "", 0, 2),
    (102, 103, 7, 10, "", 0, 2),
    (103, 104, 16, 10, "", 0, 2),
    (104, 105, 14, 10, "", 0, 2),
    (105, 106, 16, 10, "", 0, 2),
    (106, 107, 14, 10, "", 0, 2),
    (107, 108, 16, 10, "", 0, 2),
    (108, 109, 7, 10, "", 0, 2),
    (109, 110, 7, 10, "", 0, 2),
    (110, 111, 16, 10, "", 0, 2),
    (111, 112, 14, 10, "", 0, 2),
    (112, 113, 16, 10, "", 0, 2),
    (113, 114, 14, 10, "", 0, 2),
    (114, 115, 16, 10, "", 0, 2),
    (115, 88, 7, 10, "", 0, 2),
    (116, 117, 7, 10, "", 0, 2),
    (117, 118, 16, 10, "", 0, 2),
    (118, 119, 14, 10, "", 0, 2),
    (119, 120, 16, 10, "", 0, 2),
    (120, 121, 14, 10, "", 0, 2),
    (121, 122, 16, 10, "", 0, 2),
    (122, 123, 7, 10, "", 0, 2),
    (123, 124, 7, 10, "", 0, 2),
    (124, 125, 16, 10, "", 0, 2),
    (125, 126, 14, 10, "", 0, 2),
    (126, 127, 16, 10, "", 0, 2),
    (127, 128, 14, 10, "", 0, 2),
    (128, 129, 16, 10, "", 0, 2),
    (129, 130, 7, 10, "", 0, 2),
    (130, 131, 7, 10, "", 0, 2),
    (131, 132, 16, 10, "", 0, 2),
    (132, 133, 14, 10, "", 0, 2),
    (133, 134, 16, 10, "", 0, 2),
    (134, 135, 14, 10, "", 0, 2),
    (135, 136, 16, 10, "", 0, 2),
    (136, 137, 7, 10, "", 0, 2),
    (137, 138, 7, 10, "", 0, 2),
    (138, 139, 16, 10, "", 0, 2),
    (139, 140, 14, 10, "", 0, 2),
    (140, 141, 16, 10, "", 0, 2),
    (141, 142, 14, 10, "", 0, 2),
    (142, 143, 16, 10, "", 0, 2),
    (143, 116, 7, 10, "", 0, 2),
]
for a, b, angle, max_angle, boundary, hidden, group in _arcs:
    x0, y0 = _nodes[a][:2]
    x1, y1 = _nodes[b][:2]
    mi_addarc(x0, y0, x1, y1, angle, max_angle)
    half = math.radians(angle)/2
    cx = (x0+x1)/2 - (y1-y0)/(2*math.tan(half))
    cy = (y0+y1)/2 + (x1-x0)/(2*math.tan(half))
    xm = cx + (x0-cx)*math.cos(half) - (y0-cy)*math.sin(half)
    ym = cy + (x0-cx)*math.sin(half) + (y0-cy)*math.cos(half)
    mi_selectarcsegment(xm, ym)
    mi_setarcsegmentprop(max_angle, boundary, hidden, group)
    mi_clearselected()
# Метки: положение, материал, размер элемента, цепь, намагничивание, группа, витки.
_labels = [
    (144.5, 144.5, "Воздух", 0, "", 0, 0, 1),
    (0, 94, "Линейная сталь", 0, "", 0, 1, 1),
    (73, 0, "Обмоточная область", 0, "Фаза А", 0, 1, 40),
    (63.219854476264025, 36.499999999999993, "Обмоточная область", 0, "Фаза А", 0, 1, 40),
    (36.500000000000007, 63.219854476264018, "Обмоточная область", 0, "Фаза С", 0, 1, -40),
    (4.469813191451677e-15, 73, "Обмоточная область", 0, "Фаза С", 0, 1, -40),
    (-36.499999999999986, 63.219854476264025, "Обмоточная область", 0, "Фаза В", 0, 1, 40),
    (-63.219854476264025, 36.499999999999993, "Обмоточная область", 0, "Фаза В", 0, 1, 40),
    (-73, 8.939626382903354e-15, "Обмоточная область", 0, "Фаза А", 0, 1, -40),
    (-63.219854476264018, -36.500000000000007, "Обмоточная область", 0, "Фаза А", 0, 1, -40),
    (-36.500000000000036, -63.219854476264004, "Обмоточная область", 0, "Фаза С", 0, 1, 40),
    (-1.3409439574355031e-14, -73, "Обмоточная область", 0, "Фаза С", 0, 1, 40),
    (36.500000000000007, -63.219854476264018, "Обмоточная область", 0, "Фаза В", 0, 1, -40),
    (63.219854476264004, -36.500000000000036, "Обмоточная область", 0, "Фаза В", 0, 1, -40),
    (27, 0, "Линейная сталь", 0, "", 0, 2, 1),
    (-31.5, -14, "Воздух", 0, "", 0, 2, 1),
    (31.5, -14, "Воздух", 0, "", 0, 2, 1),
    (-31.5, 14, "Воздух", 0, "", 0, 2, 1),
    (31.5, 14, "Воздух", 0, "", 0, 2, 1),
    (0, 0, "Воздух", 0, "", 0, 2, 1),
    (56.421980601819094, 17.249930578641468, "Воздух", 0, "", 0, 0, 1),
]
for x, y, material, size, circuit, direction, group, turns in _labels:
    mi_addblocklabel(x, y)
    if material:
        mi_selectlabel(x, y)
        mi_setblockprop(material, 1 if size <= 0 else 0, size, circuit, direction, group, turns)
        mi_clearselected()
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 8. Модель неполная: переходите к следующему этапу, не запускайте решение.")
Синхронная реактивная машина. Шаг 8: Назначения материалов и обмоток.
Рисунок 27.40. Синхронная реактивная машина. Шаг 8: Назначения материалов и обмоток. Открыть в полном размере

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

Этап 9 из 11

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

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

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

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

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

Таблица 27.51. Ограничения сетки отрезков
№ отрезкаМаксимальная длина, ммРежим
0-1автоматический
1-1автоматический
2-1автоматический
3-1автоматический
4-1автоматический
5-1автоматический
6-1автоматический
7-1автоматический
8-1автоматический
9-1автоматический
10-1автоматический
11-1автоматический
12-1автоматический
13-1автоматический
14-1автоматический
15-1автоматический
16-1автоматический
17-1автоматический
18-1автоматический
19-1автоматический
20-1автоматический
21-1автоматический
22-1автоматический
23-1автоматический
24-1автоматический
25-1автоматический
26-1автоматический
27-1автоматический
28-1автоматический
29-1автоматический
30-1автоматический
31-1автоматический
32-1автоматический
33-1автоматический
34-1автоматический
35-1автоматический
36-1автоматический
37-1автоматический
38-1автоматический
39-1автоматический
40-1автоматический
41-1автоматический
42-1автоматический
43-1автоматический
Таблица 27.52. Ограничения сетки дуг
№ дугиМаксимальный угол элемента, {}^\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

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

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

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Синхронная реактивная машина
# Шаг 9: Локальные размеры сетки и готовая модель
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(0, "millimeters", "planar", 1e-08, 80, 25, 0)
mi_smartmesh(1)
# Материалы задаются явно, без зависимости от установленной библиотеки.
mi_addmaterial("Воздух", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Обмоточная область", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Линейная сталь", 1000, 1000, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addmaterial("Нелинейная сталь", 1, 1, 0, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
mi_addbhpoint("Нелинейная сталь", 0, 0)
mi_addbhpoint("Нелинейная сталь", 0.25, 100)
mi_addbhpoint("Нелинейная сталь", 0.5, 200)
mi_addbhpoint("Нелинейная сталь", 0.90000000000000002, 400)
mi_addbhpoint("Нелинейная сталь", 1.2, 800)
mi_addbhpoint("Нелинейная сталь", 1.45, 2000)
mi_addbhpoint("Нелинейная сталь", 1.6000000000000001, 5000)
mi_addbhpoint("Нелинейная сталь", 1.7, 10000)
mi_addmaterial("Постоянный магнит", 1.05, 1.05, 909456.81766797334, complex(0, 0), 0, 0, 0, 1, 0, 0, 0, 0, 0)
# Токи комплексные; код 1 означает последовательную цепь.
mi_addcircprop("Фаза А", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза В", complex(1.0000000000000002, 0), 1)
mi_addcircprop("Фаза С", complex(-2, 0), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
    (-170, -170, 0),
    (170, -170, 0),
    (170, 170, 0),
    (-170, 170, 0),
    (60, 0, 0),
    (59.552769098479317, 7.3121606043088487, 0),
    (55.230291207146422, 23.443867709356425, 0),
    (47.918130602837572, 36.108901389122899, 0),
    (36.108901389122906, 47.918130602837572, 0),
    (23.443867709356422, 55.230291207146422, 0),
    (7.3121606043088496, 59.552769098479317, 0),
    (3.6738190614671318e-15, 60, 0),
    (-7.3121606043088416, 59.552769098479324, 0),
    (-23.443867709356425, 55.230291207146415, 0),
    (-36.108901389122906, 47.918130602837564, 0),
    (-47.918130602837579, 36.108901389122892, 0),
    (-55.230291207146422, 23.443867709356425, 0),
    (-59.552769098479317, 7.3121606043088523, 0),
    (-60, 7.3476381229342635e-15, 0),
    (-59.552769098479324, -7.312160604308839, 0),
    (-55.230291207146422, -23.443867709356415, 0),
    (-47.918130602837572, -36.108901389122906, 0),
    (-36.108901389122899, -47.918130602837572, 0),
    (-23.443867709356429, -55.230291207146415, 0),
    (-7.3121606043088301, -59.552769098479324, 0),
    (-1.1021457184401395e-14, -60, 0),
    (7.3121606043088612, -59.552769098479317, 0),
    (23.443867709356411, -55.230291207146429, 0),
    (36.108901389122877, -47.918130602837586, 0),
    (47.918130602837572, -36.108901389122899, 0),
    (55.230291207146415, -23.443867709356432, 0),
    (59.552769098479324, -7.3121606043088336, 0),
    (100, 0, 0),
    (99.254615164132204, 12.186934340514748, 0),
    (92.050485345244041, 39.07311284892738, 0),
    (79.863551004729288, 60.181502315204824, 0),
    (60.181502315204838, 79.863551004729288, 0),
    (39.073112848927373, 92.050485345244041, 0),
    (12.18693434051475, 99.254615164132204, 0),
    (6.1230317691118863e-15, 100, 0),
    (-12.186934340514737, 99.254615164132204, 0),
    (-39.07311284892738, 92.050485345244027, 0),
    (-60.181502315204838, 79.863551004729274, 0),
    (-79.863551004729288, 60.181502315204817, 0),
    (-92.050485345244041, 39.07311284892738, 0),
    (-99.254615164132204, 12.186934340514755, 0),
    (-100, 1.2246063538223773e-14, 0),
    (-99.254615164132204, -12.18693434051473, 0),
    (-92.050485345244041, -39.073112848927352, 0),
    (-79.863551004729288, -60.181502315204838, 0),
    (-60.181502315204824, -79.863551004729288, 0),
    (-39.07311284892738, -92.050485345244027, 0),
    (-12.186934340514718, -99.254615164132204, 0),
    (-1.8369095307335659e-14, -100, 0),
    (12.186934340514769, -99.254615164132204, 0),
    (39.073112848927352, -92.050485345244056, 0),
    (60.181502315204796, -79.863551004729302, 0),
    (79.863551004729288, -60.181502315204824, 0),
    (92.050485345244027, -39.073112848927387, 0),
    (99.254615164132204, -12.186934340514723, 0),
    (84.366422889512378, -10.358894189437514, 0),
    (85, -2.0818308014980413e-14, 0),
    (84.366422889512364, 10.358894189437548, 0),
    (78.242912543457436, 33.212145921588274, 0),
    (67.884018354019886, 51.154276967924105, 0),
    (51.154276967924112, 67.884018354019886, 0),
    (33.212145921588267, 78.242912543457436, 0),
    (10.358894189437537, 84.366422889512364, 0),
    (5.2045770037451033e-15, 85, 0),
    (-10.358894189437526, 84.366422889512378, 0),
    (-33.212145921588274, 78.242912543457422, 0),
    (-51.154276967924112, 67.884018354019886, 0),
    (-67.884018354019901, 51.154276967924091, 0),
    (-78.242912543457436, 33.212145921588274, 0),
    (-84.366422889512364, 10.358894189437541, 0),
    (-85, 1.0409154007490207e-14, 0),
    (-84.366422889512378, -10.358894189437521, 0),
    (-78.242912543457436, -33.212145921588252, 0),
    (-67.884018354019886, -51.154276967924112, 0),
    (-51.154276967924105, -67.884018354019886, 0),
    (-33.212145921588274, -78.242912543457422, 0),
    (-10.35889418943751, -84.366422889512378, 0),
    (-1.561373101123531e-14, -85, 0),
    (10.358894189437553, -84.366422889512364, 0),
    (33.212145921588245, -78.242912543457436, 0),
    (51.154276967924076, -67.884018354019915, 0),
    (67.884018354019886, -51.154276967924105, 0),
    (78.242912543457422, -33.212145921588281, 0),
    (18, 0, 2),
    (17.865830729543795, 2.1936481812926547, 2),
    (16.569087362143925, 7.0331603128069275, 2),
    (14.37543918085127, 10.832670416736869, 2),
    (10.832670416736871, 14.37543918085127, 2),
    (7.0331603128069267, 16.569087362143925, 2),
    (2.1936481812926547, 17.865830729543795, 2),
    (1.1021457184401395e-15, 18, 2),
    (-2.1936481812926525, 17.865830729543799, 2),
    (-7.0331603128069275, 16.569087362143925, 2),
    (-10.832670416736871, 14.375439180851268, 2),
    (-14.375439180851274, 10.832670416736867, 2),
    (-16.569087362143925, 7.0331603128069275, 2),
    (-17.865830729543795, 2.193648181292656, 2),
    (-18, 2.2042914368802791e-15, 2),
    (-17.865830729543799, -2.1936481812926516, 2),
    (-16.569087362143925, -7.033160312806924, 2),
    (-14.37543918085127, -10.832670416736871, 2),
    (-10.832670416736869, -14.37543918085127, 2),
    (-7.0331603128069293, -16.569087362143925, 2),
    (-2.1936481812926489, -17.865830729543799, 2),
    (-3.3064371553204186e-15, -18, 2),
    (2.1936481812926583, -17.865830729543795, 2),
    (7.0331603128069231, -16.569087362143929, 2),
    (10.832670416736862, -14.375439180851275, 2),
    (14.37543918085127, -10.832670416736869, 2),
    (16.569087362143925, -7.0331603128069302, 2),
    (17.865830729543799, -2.1936481812926503, 2),
    (58, 0, 2),
    (57.567676795196675, 7.0684219174985534, 2),
    (53.389281500241545, 22.662405452377879, 2),
    (46.320859582742983, 34.9052713428188, 2),
    (34.905271342818807, 46.320859582742983, 2),
    (22.662405452377875, 53.389281500241545, 2),
    (7.0684219174985543, 57.567676795196675, 2),
    (3.551358426084894e-15, 58, 2),
    (-7.0684219174985472, 57.567676795196682, 2),
    (-22.662405452377879, 53.389281500241538, 2),
    (-34.905271342818807, 46.320859582742976, 2),
    (-46.32085958274299, 34.905271342818793, 2),
    (-53.389281500241545, 22.662405452377879, 2),
    (-57.567676795196675, 7.0684219174985579, 2),
    (-58, 7.1027168521697881e-15, 2),
    (-57.567676795196682, -7.0684219174985436, 2),
    (-53.389281500241545, -22.662405452377865, 2),
    (-46.320859582742983, -34.905271342818807, 2),
    (-34.9052713428188, -46.320859582742983, 2),
    (-22.662405452377882, -53.389281500241538, 2),
    (-7.0684219174985357, -57.567676795196682, 2),
    (-1.0654075278254682e-14, -58, 2),
    (7.0684219174985659, -57.567676795196675, 2),
    (22.662405452377861, -53.389281500241552, 2),
    (34.905271342818779, -46.320859582742997, 2),
    (46.320859582742983, -34.9052713428188, 2),
    (53.389281500241538, -22.662405452377886, 2),
    (57.567676795196682, -7.0684219174985392, 2),
    (-42, -16, 2),
    (-21, -16, 2),
    (-21, -12, 2),
    (-42, -12, 2),
    (21, -16, 2),
    (42, -16, 2),
    (42, -12, 2),
    (21, -12, 2),
    (-42, 12, 2),
    (-21, 12, 2),
    (-21, 16, 2),
    (-42, 16, 2),
    (21, 12, 2),
    (42, 12, 2),
    (42, 16, 2),
    (21, 16, 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),
    (31, 60, -1, "", 0, 0),
    (5, 62, -1, "", 0, 0),
    (6, 63, -1, "", 0, 0),
    (7, 64, -1, "", 0, 0),
    (8, 65, -1, "", 0, 0),
    (9, 66, -1, "", 0, 0),
    (10, 67, -1, "", 0, 0),
    (12, 69, -1, "", 0, 0),
    (13, 70, -1, "", 0, 0),
    (14, 71, -1, "", 0, 0),
    (15, 72, -1, "", 0, 0),
    (16, 73, -1, "", 0, 0),
    (17, 74, -1, "", 0, 0),
    (19, 76, -1, "", 0, 0),
    (20, 77, -1, "", 0, 0),
    (21, 78, -1, "", 0, 0),
    (22, 79, -1, "", 0, 0),
    (23, 80, -1, "", 0, 0),
    (24, 81, -1, "", 0, 0),
    (26, 83, -1, "", 0, 0),
    (27, 84, -1, "", 0, 0),
    (28, 85, -1, "", 0, 0),
    (29, 86, -1, "", 0, 0),
    (30, 87, -1, "", 0, 0),
    (144, 145, -1, "", 0, 2),
    (145, 146, -1, "", 0, 2),
    (146, 147, -1, "", 0, 2),
    (147, 144, -1, "", 0, 2),
    (148, 149, -1, "", 0, 2),
    (149, 150, -1, "", 0, 2),
    (150, 151, -1, "", 0, 2),
    (151, 148, -1, "", 0, 2),
    (152, 153, -1, "", 0, 2),
    (153, 154, -1, "", 0, 2),
    (154, 155, -1, "", 0, 2),
    (155, 152, -1, "", 0, 2),
    (156, 157, -1, "", 0, 2),
    (157, 158, -1, "", 0, 2),
    (158, 159, -1, "", 0, 2),
    (159, 156, -1, "", 0, 2),
]
for a, b, size, boundary, hidden, group in _segments:
    x0, y0 = _nodes[a][:2]
    x1, y1 = _nodes[b][:2]
    mi_addsegment(x0, y0, x1, y1)
    mi_selectsegment((x0+x1)/2, (y0+y1)/2)
    mi_setsegmentprop(boundary, size, 1 if size <= 0 else 0, hidden, group)
    mi_clearselected()
# Дуги: угол против часовой стрелки и максимальный угол элемента в градусах.
_arcs = [
    (4, 5, 7, 4, "", 0, 0),
    (5, 6, 16, 4, "", 0, 0),
    (6, 7, 14, 4, "", 0, 0),
    (7, 8, 16, 4, "", 0, 0),
    (8, 9, 14, 4, "", 0, 0),
    (9, 10, 16, 4, "", 0, 0),
    (10, 11, 7, 4, "", 0, 0),
    (11, 12, 7, 4, "", 0, 0),
    (12, 13, 16, 4, "", 0, 0),
    (13, 14, 14, 4, "", 0, 0),
    (14, 15, 16, 4, "", 0, 0),
    (15, 16, 14, 4, "", 0, 0),
    (16, 17, 16, 4, "", 0, 0),
    (17, 18, 7, 4, "", 0, 0),
    (18, 19, 7, 4, "", 0, 0),
    (19, 20, 16, 4, "", 0, 0),
    (20, 21, 14, 4, "", 0, 0),
    (21, 22, 16, 4, "", 0, 0),
    (22, 23, 14, 4, "", 0, 0),
    (23, 24, 16, 4, "", 0, 0),
    (24, 25, 7, 4, "", 0, 0),
    (25, 26, 7, 4, "", 0, 0),
    (26, 27, 16, 4, "", 0, 0),
    (27, 28, 14, 4, "", 0, 0),
    (28, 29, 16, 4, "", 0, 0),
    (29, 30, 14, 4, "", 0, 0),
    (30, 31, 16, 4, "", 0, 0),
    (31, 4, 7, 4, "", 0, 0),
    (32, 33, 7, 4, "", 0, 0),
    (33, 34, 16, 4, "", 0, 0),
    (34, 35, 14, 4, "", 0, 0),
    (35, 36, 16, 4, "", 0, 0),
    (36, 37, 14, 4, "", 0, 0),
    (37, 38, 16, 4, "", 0, 0),
    (38, 39, 7, 4, "", 0, 0),
    (39, 40, 7, 4, "", 0, 0),
    (40, 41, 16, 4, "", 0, 0),
    (41, 42, 14, 4, "", 0, 0),
    (42, 43, 16, 4, "", 0, 0),
    (43, 44, 14, 4, "", 0, 0),
    (44, 45, 16, 4, "", 0, 0),
    (45, 46, 7, 4, "", 0, 0),
    (46, 47, 7, 4, "", 0, 0),
    (47, 48, 16, 4, "", 0, 0),
    (48, 49, 14, 4, "", 0, 0),
    (49, 50, 16, 4, "", 0, 0),
    (50, 51, 14, 4, "", 0, 0),
    (51, 52, 16, 4, "", 0, 0),
    (52, 53, 7, 4, "", 0, 0),
    (53, 54, 7, 4, "", 0, 0),
    (54, 55, 16, 4, "", 0, 0),
    (55, 56, 14, 4, "", 0, 0),
    (56, 57, 16, 4, "", 0, 0),
    (57, 58, 14, 4, "", 0, 0),
    (58, 59, 16, 4, "", 0, 0),
    (59, 32, 7, 4, "", 0, 0),
    (60, 61, 7, 4, "", 0, 0),
    (61, 62, 7, 4, "", 0, 0),
    (63, 64, 14, 4, "", 0, 0),
    (65, 66, 14, 4, "", 0, 0),
    (67, 68, 7, 4, "", 0, 0),
    (68, 69, 7, 4, "", 0, 0),
    (70, 71, 14, 4, "", 0, 0),
    (72, 73, 14, 4, "", 0, 0),
    (74, 75, 7, 4, "", 0, 0),
    (75, 76, 7, 4, "", 0, 0),
    (77, 78, 14, 4, "", 0, 0),
    (79, 80, 14, 4, "", 0, 0),
    (81, 82, 7, 4, "", 0, 0),
    (82, 83, 7, 4, "", 0, 0),
    (84, 85, 14, 4, "", 0, 0),
    (86, 87, 14, 4, "", 0, 0),
    (88, 89, 7, 4, "", 0, 2),
    (89, 90, 16, 4, "", 0, 2),
    (90, 91, 14, 4, "", 0, 2),
    (91, 92, 16, 4, "", 0, 2),
    (92, 93, 14, 4, "", 0, 2),
    (93, 94, 16, 4, "", 0, 2),
    (94, 95, 7, 4, "", 0, 2),
    (95, 96, 7, 4, "", 0, 2),
    (96, 97, 16, 4, "", 0, 2),
    (97, 98, 14, 4, "", 0, 2),
    (98, 99, 16, 4, "", 0, 2),
    (99, 100, 14, 4, "", 0, 2),
    (100, 101, 16, 4, "", 0, 2),
    (101, 102, 7, 4, "", 0, 2),
    (102, 103, 7, 4, "", 0, 2),
    (103, 104, 16, 4, "", 0, 2),
    (104, 105, 14, 4, "", 0, 2),
    (105, 106, 16, 4, "", 0, 2),
    (106, 107, 14, 4, "", 0, 2),
    (107, 108, 16, 4, "", 0, 2),
    (108, 109, 7, 4, "", 0, 2),
    (109, 110, 7, 4, "", 0, 2),
    (110, 111, 16, 4, "", 0, 2),
    (111, 112, 14, 4, "", 0, 2),
    (112, 113, 16, 4, "", 0, 2),
    (113, 114, 14, 4, "", 0, 2),
    (114, 115, 16, 4, "", 0, 2),
    (115, 88, 7, 4, "", 0, 2),
    (116, 117, 7, 4, "", 0, 2),
    (117, 118, 16, 4, "", 0, 2),
    (118, 119, 14, 4, "", 0, 2),
    (119, 120, 16, 4, "", 0, 2),
    (120, 121, 14, 4, "", 0, 2),
    (121, 122, 16, 4, "", 0, 2),
    (122, 123, 7, 4, "", 0, 2),
    (123, 124, 7, 4, "", 0, 2),
    (124, 125, 16, 4, "", 0, 2),
    (125, 126, 14, 4, "", 0, 2),
    (126, 127, 16, 4, "", 0, 2),
    (127, 128, 14, 4, "", 0, 2),
    (128, 129, 16, 4, "", 0, 2),
    (129, 130, 7, 4, "", 0, 2),
    (130, 131, 7, 4, "", 0, 2),
    (131, 132, 16, 4, "", 0, 2),
    (132, 133, 14, 4, "", 0, 2),
    (133, 134, 16, 4, "", 0, 2),
    (134, 135, 14, 4, "", 0, 2),
    (135, 136, 16, 4, "", 0, 2),
    (136, 137, 7, 4, "", 0, 2),
    (137, 138, 7, 4, "", 0, 2),
    (138, 139, 16, 4, "", 0, 2),
    (139, 140, 14, 4, "", 0, 2),
    (140, 141, 16, 4, "", 0, 2),
    (141, 142, 14, 4, "", 0, 2),
    (142, 143, 16, 4, "", 0, 2),
    (143, 116, 7, 4, "", 0, 2),
]
for a, b, angle, max_angle, boundary, hidden, group in _arcs:
    x0, y0 = _nodes[a][:2]
    x1, y1 = _nodes[b][:2]
    mi_addarc(x0, y0, x1, y1, angle, max_angle)
    half = math.radians(angle)/2
    cx = (x0+x1)/2 - (y1-y0)/(2*math.tan(half))
    cy = (y0+y1)/2 + (x1-x0)/(2*math.tan(half))
    xm = cx + (x0-cx)*math.cos(half) - (y0-cy)*math.sin(half)
    ym = cy + (x0-cx)*math.sin(half) + (y0-cy)*math.cos(half)
    mi_selectarcsegment(xm, ym)
    mi_setarcsegmentprop(max_angle, boundary, hidden, group)
    mi_clearselected()
# Метки: положение, материал, размер элемента, цепь, намагничивание, группа, витки.
_labels = [
    (144.5, 144.5, "Воздух", 8.5, "", 0, 0, 1),
    (0, 94, "Линейная сталь", 3, "", 0, 1, 1),
    (73, 0, "Обмоточная область", 2, "Фаза А", 0, 1, 40),
    (63.219854476264025, 36.499999999999993, "Обмоточная область", 2, "Фаза А", 0, 1, 40),
    (36.500000000000007, 63.219854476264018, "Обмоточная область", 2, "Фаза С", 0, 1, -40),
    (4.469813191451677e-15, 73, "Обмоточная область", 2, "Фаза С", 0, 1, -40),
    (-36.499999999999986, 63.219854476264025, "Обмоточная область", 2, "Фаза В", 0, 1, 40),
    (-63.219854476264025, 36.499999999999993, "Обмоточная область", 2, "Фаза В", 0, 1, 40),
    (-73, 8.939626382903354e-15, "Обмоточная область", 2, "Фаза А", 0, 1, -40),
    (-63.219854476264018, -36.500000000000007, "Обмоточная область", 2, "Фаза А", 0, 1, -40),
    (-36.500000000000036, -63.219854476264004, "Обмоточная область", 2, "Фаза С", 0, 1, 40),
    (-1.3409439574355031e-14, -73, "Обмоточная область", 2, "Фаза С", 0, 1, 40),
    (36.500000000000007, -63.219854476264018, "Обмоточная область", 2, "Фаза В", 0, 1, -40),
    (63.219854476264004, -36.500000000000036, "Обмоточная область", 2, "Фаза В", 0, 1, -40),
    (27, 0, "Линейная сталь", 2, "", 0, 2, 1),
    (-31.5, -14, "Воздух", 1, "", 0, 2, 1),
    (31.5, -14, "Воздух", 1, "", 0, 2, 1),
    (-31.5, 14, "Воздух", 1, "", 0, 2, 1),
    (31.5, 14, "Воздух", 1, "", 0, 2, 1),
    (0, 0, "Воздух", 2, "", 0, 2, 1),
    (56.421980601819094, 17.249930578641468, "Воздух", 0.34999999999999998, "", 0, 0, 1),
]
for x, y, material, size, circuit, direction, group, turns in _labels:
    mi_addblocklabel(x, y)
    if material:
        mi_selectlabel(x, y)
        mi_setblockprop(material, 1 if size <= 0 else 0, size, circuit, direction, group, turns)
        mi_clearselected()
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 9. Модель полная; автоматический расчёт не запускался.")
Синхронная реактивная машина. Шаг 9: Локальные размеры сетки и готовая модель.
Рисунок 27.41. Синхронная реактивная машина. Шаг 9: Локальные размеры сетки и готовая модель. Открыть в полном размере

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

Этап 10 из 11

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

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

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

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

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

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

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Синхронная реактивная машина
# Шаг 10: Просмотр сохранённой сетки
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import os
try:
    _script = __file__.replace(chr(92), '/')
    _folder = _script.rsplit('/', 1)[0] if '/' in _script else os.getcwd()
except NameError:
    _folder = os.getcwd()
# Открываем готовый эталон и его унаследованное решение из одной папки.
opendocument(_folder + '/' + "Синхронная-реактивная-машина-09-Готовая-модель.fem")
mi_loadsolution()
mo_clearblock()
mo_clearcontour()
mo_zoomnatural()
mo_showdensityplot(1, 0, 1.8, 0, 'bmag')
# Показать существующие элементы из .ans; сетка не строится заново.
mo_showmesh()
Синхронная реактивная машина. Шаг 10: Просмотр сохранённой сетки.
Рисунок 27.42. Синхронная реактивная машина. Шаг 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.54. Результаты всех цепей
ЦепьТок, АПолевое напряжение, ВПотокосцепление, Вб
Фаза А100,02165
Фаза С-20-0,04343
Фаза В100,02176
Таблица 27.55. Объёмные интегралы
ВеличинаЗначение
Энергия, Дж0,06514
Коэнергия, Дж0,06514
Момент, Н·м-169,5 × 10⁻⁶

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

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

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Синхронная реактивная машина
# Шаг 11: Поле и численные результаты
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import os
try:
    _script = __file__.replace(chr(92), '/')
    _folder = _script.rsplit('/', 1)[0] if '/' in _script else os.getcwd()
except NameError:
    _folder = os.getcwd()
# Открываем готовый эталон и его унаследованное решение из одной папки.
opendocument(_folder + '/' + "Синхронная-реактивная-машина-09-Готовая-модель.fem")
mi_loadsolution()
mo_clearblock()
mo_clearcontour()
mo_zoomnatural()
mo_showdensityplot(1, 0, 1.8, 0, 'bmag')
mo_hidemesh()
# Запрашиваем реальные результаты всех сохранённых цепей.
print("Фаза А: I, U поля, потокосцепление", mo_getcircuitproperties("Фаза А"))
print("Фаза В: I, U поля, потокосцепление", mo_getcircuitproperties("Фаза В"))
print("Фаза С: I, U поля, потокосцепление", mo_getcircuitproperties("Фаза С"))
# Энергия вычисляется по всем областям эталона.
mo_groupselectblock()
print('Энергия, Дж:', mo_blockintegral(2))
mo_clearblock()
Синхронная реактивная машина. Шаг 11: Поле и численные результаты.
Рисунок 27.43. Синхронная реактивная машина. Шаг 11: Поле и численные результаты. Открыть в полном размере