FEMM 5

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

Трёхфазный трансформатор: холостой ход

Общий трёхстержневой сердечник, шесть обмоток и разомкнутые вторичные цепи.

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

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

Общий трёхстержневой сердечник и шесть обмоточных цепей. Первичная нейтраль подключена; сумма первичных токов может быть ненулевой. Токи этого режима заранее согласованы с источником питания и внешними цепями. FEMM показывает полевое напряжение; падения напряжения на внешних сопротивлениях учитываются отдельно.

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

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

Итоговые файлы примера

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

Этап 1 из 11

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

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

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

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

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

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

Этап 2 из 11

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

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

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

Этап 3 из 11

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

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

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

Таблица 20.40. Токи всех цепей
ЦепьДействительная часть тока, АМнимая часть тока, АТип
Первичная фаза А-0,09995-0,4864Последовательная (1)
Первичная фаза В-0,30050,1605Последовательная (1)
Первичная фаза С0,35690,3165Последовательная (1)
Вторичная фаза А00Последовательная (1)
Вторичная фаза В00Последовательная (1)
Вторичная фаза С00Последовательная (1)

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

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

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Трёхфазный трансформатор: холостой ход
# Шаг 3: Цепи и токи возбуждения
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(50, "millimeters", "planar", 1e-08, 40, 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(-0.099954836828649404, -0.48640204063636233), 1)
mi_addcircprop("Первичная фаза В", complex(-0.30046856274431327, 0.16047423486517901), 1)
mi_addcircprop("Первичная фаза С", complex(0.35688255274411812, 0.31649362216577392), 1)
mi_addcircprop("Вторичная фаза А", complex(0, 0), 1)
mi_addcircprop("Вторичная фаза В", complex(0, 0), 1)
mi_addcircprop("Вторичная фаза С", complex(0, 0), 1)
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 3. Модель неполная: переходите к следующему этапу, не запускайте решение.")
Трёхфазный трансформатор: холостой ход. Шаг 3: Цепи и токи возбуждения.
Рисунок 20.37. Трёхфазный трансформатор: холостой ход. Шаг 3: Цепи и токи возбуждения. Открыть в полном размере

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

Этап 4 из 11

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

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

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

Этап 5 из 11

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

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

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

Таблица 20.42. Координаты всех узлов
№ узлаx или r, ммy или z, ммГруппа
0-220-2200
1220-2200
22202200
3-2202200
4-70-600
570-600
670600
7-70600
8-50-400
9-10-400
10-10400
11-50400
1210-400
1350-400
1450400
1510400
16-80-250
17-75-250
18-75250
19-80250
20-45-250
21-40-250
22-40250
23-45250
24-20-250
25-15-250
26-15250
27-20250
2815-250
2920-250
3020250
3115250
3240-250
3345-250
3445250
3540250
3675-250
3780-250
3880250
3975250
40-88-250
41-83-250
42-83250
43-88250
44-39-250
45-35-250
46-35250
47-39250
48-27-250
49-22-250
50-22250
51-27250
5222-250
5327-250
5427250
5522250
5635-250
5739-250
5839250
5935250
6083-250
6188-250
6288250
6383250

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

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

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Трёхфазный трансформатор: холостой ход
# Шаг 5: Узлы и размеры геометрии
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(50, "millimeters", "planar", 1e-08, 40, 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(-0.099954836828649404, -0.48640204063636233), 1)
mi_addcircprop("Первичная фаза В", complex(-0.30046856274431327, 0.16047423486517901), 1)
mi_addcircprop("Первичная фаза С", complex(0.35688255274411812, 0.31649362216577392), 1)
mi_addcircprop("Вторичная фаза А", complex(0, 0), 1)
mi_addcircprop("Вторичная фаза В", complex(0, 0), 1)
mi_addcircprop("Вторичная фаза С", complex(0, 0), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
    (-220, -220, 0),
    (220, -220, 0),
    (220, 220, 0),
    (-220, 220, 0),
    (-70, -60, 0),
    (70, -60, 0),
    (70, 60, 0),
    (-70, 60, 0),
    (-50, -40, 0),
    (-10, -40, 0),
    (-10, 40, 0),
    (-50, 40, 0),
    (10, -40, 0),
    (50, -40, 0),
    (50, 40, 0),
    (10, 40, 0),
    (-80, -25, 0),
    (-75, -25, 0),
    (-75, 25, 0),
    (-80, 25, 0),
    (-45, -25, 0),
    (-40, -25, 0),
    (-40, 25, 0),
    (-45, 25, 0),
    (-20, -25, 0),
    (-15, -25, 0),
    (-15, 25, 0),
    (-20, 25, 0),
    (15, -25, 0),
    (20, -25, 0),
    (20, 25, 0),
    (15, 25, 0),
    (40, -25, 0),
    (45, -25, 0),
    (45, 25, 0),
    (40, 25, 0),
    (75, -25, 0),
    (80, -25, 0),
    (80, 25, 0),
    (75, 25, 0),
    (-88, -25, 0),
    (-83, -25, 0),
    (-83, 25, 0),
    (-88, 25, 0),
    (-39, -25, 0),
    (-35, -25, 0),
    (-35, 25, 0),
    (-39, 25, 0),
    (-27, -25, 0),
    (-22, -25, 0),
    (-22, 25, 0),
    (-27, 25, 0),
    (22, -25, 0),
    (27, -25, 0),
    (27, 25, 0),
    (22, 25, 0),
    (35, -25, 0),
    (39, -25, 0),
    (39, 25, 0),
    (35, 25, 0),
    (83, -25, 0),
    (88, -25, 0),
    (88, 25, 0),
    (83, 25, 0),
]
for x, y, group in _nodes:
    mi_addnode(x, y)
    if group:
        mi_selectnode(x, y)
        mi_setnodeprop('', group)
        mi_clearselected()
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 5. Модель неполная: переходите к следующему этапу, не запускайте решение.")
Трёхфазный трансформатор: холостой ход. Шаг 5: Узлы и размеры геометрии.
Рисунок 20.39. Трёхфазный трансформатор: холостой ход. Шаг 5: Узлы и размеры геометрии. Открыть в полном размере

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

Этап 6 из 11

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

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

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

Таблица 20.43. Все отрезки и назначенные границы
№Начальный узелКонечный узелГраницаГруппа
001Нулевой потенциал0
112Нулевой потенциал0
223Нулевой потенциал0
330Нулевой потенциал0
445Нет0
556Нет0
667Нет0
774Нет0
889Нет0
9910Нет0
101011Нет0
11118Нет0
121213Нет0
131314Нет0
141415Нет0
151512Нет0
161617Нет0
171718Нет0
181819Нет0
191916Нет0
202021Нет0
212122Нет0
222223Нет0
232320Нет0
242425Нет0
252526Нет0
262627Нет0
272724Нет0
282829Нет0
292930Нет0
303031Нет0
313128Нет0
323233Нет0
333334Нет0
343435Нет0
353532Нет0
363637Нет0
373738Нет0
383839Нет0
393936Нет0
404041Нет0
414142Нет0
424243Нет0
434340Нет0
444445Нет0
454546Нет0
464647Нет0
474744Нет0
484849Нет0
494950Нет0
505051Нет0
515148Нет0
525253Нет0
535354Нет0
545455Нет0
555552Нет0
565657Нет0
575758Нет0
585859Нет0
595956Нет0
606061Нет0
616162Нет0
626263Нет0
636360Нет0

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

Таблица 20.44. Все дуги и назначенные границы
№Начальный узелКонечный узелУгол дуги, {}^\circГраницаГруппа

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

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

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Трёхфазный трансформатор: холостой ход
# Шаг 6: Отрезки и дуги
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(50, "millimeters", "planar", 1e-08, 40, 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(-0.099954836828649404, -0.48640204063636233), 1)
mi_addcircprop("Первичная фаза В", complex(-0.30046856274431327, 0.16047423486517901), 1)
mi_addcircprop("Первичная фаза С", complex(0.35688255274411812, 0.31649362216577392), 1)
mi_addcircprop("Вторичная фаза А", complex(0, 0), 1)
mi_addcircprop("Вторичная фаза В", complex(0, 0), 1)
mi_addcircprop("Вторичная фаза С", complex(0, 0), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
    (-220, -220, 0),
    (220, -220, 0),
    (220, 220, 0),
    (-220, 220, 0),
    (-70, -60, 0),
    (70, -60, 0),
    (70, 60, 0),
    (-70, 60, 0),
    (-50, -40, 0),
    (-10, -40, 0),
    (-10, 40, 0),
    (-50, 40, 0),
    (10, -40, 0),
    (50, -40, 0),
    (50, 40, 0),
    (10, 40, 0),
    (-80, -25, 0),
    (-75, -25, 0),
    (-75, 25, 0),
    (-80, 25, 0),
    (-45, -25, 0),
    (-40, -25, 0),
    (-40, 25, 0),
    (-45, 25, 0),
    (-20, -25, 0),
    (-15, -25, 0),
    (-15, 25, 0),
    (-20, 25, 0),
    (15, -25, 0),
    (20, -25, 0),
    (20, 25, 0),
    (15, 25, 0),
    (40, -25, 0),
    (45, -25, 0),
    (45, 25, 0),
    (40, 25, 0),
    (75, -25, 0),
    (80, -25, 0),
    (80, 25, 0),
    (75, 25, 0),
    (-88, -25, 0),
    (-83, -25, 0),
    (-83, 25, 0),
    (-88, 25, 0),
    (-39, -25, 0),
    (-35, -25, 0),
    (-35, 25, 0),
    (-39, 25, 0),
    (-27, -25, 0),
    (-22, -25, 0),
    (-22, 25, 0),
    (-27, 25, 0),
    (22, -25, 0),
    (27, -25, 0),
    (27, 25, 0),
    (22, 25, 0),
    (35, -25, 0),
    (39, -25, 0),
    (39, 25, 0),
    (35, 25, 0),
    (83, -25, 0),
    (88, -25, 0),
    (88, 25, 0),
    (83, 25, 0),
]
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),
    (4, 5, -1, "", 0, 0),
    (5, 6, -1, "", 0, 0),
    (6, 7, -1, "", 0, 0),
    (7, 4, -1, "", 0, 0),
    (8, 9, -1, "", 0, 0),
    (9, 10, -1, "", 0, 0),
    (10, 11, -1, "", 0, 0),
    (11, 8, -1, "", 0, 0),
    (12, 13, -1, "", 0, 0),
    (13, 14, -1, "", 0, 0),
    (14, 15, -1, "", 0, 0),
    (15, 12, -1, "", 0, 0),
    (16, 17, -1, "", 0, 0),
    (17, 18, -1, "", 0, 0),
    (18, 19, -1, "", 0, 0),
    (19, 16, -1, "", 0, 0),
    (20, 21, -1, "", 0, 0),
    (21, 22, -1, "", 0, 0),
    (22, 23, -1, "", 0, 0),
    (23, 20, -1, "", 0, 0),
    (24, 25, -1, "", 0, 0),
    (25, 26, -1, "", 0, 0),
    (26, 27, -1, "", 0, 0),
    (27, 24, -1, "", 0, 0),
    (28, 29, -1, "", 0, 0),
    (29, 30, -1, "", 0, 0),
    (30, 31, -1, "", 0, 0),
    (31, 28, -1, "", 0, 0),
    (32, 33, -1, "", 0, 0),
    (33, 34, -1, "", 0, 0),
    (34, 35, -1, "", 0, 0),
    (35, 32, -1, "", 0, 0),
    (36, 37, -1, "", 0, 0),
    (37, 38, -1, "", 0, 0),
    (38, 39, -1, "", 0, 0),
    (39, 36, -1, "", 0, 0),
    (40, 41, -1, "", 0, 0),
    (41, 42, -1, "", 0, 0),
    (42, 43, -1, "", 0, 0),
    (43, 40, -1, "", 0, 0),
    (44, 45, -1, "", 0, 0),
    (45, 46, -1, "", 0, 0),
    (46, 47, -1, "", 0, 0),
    (47, 44, -1, "", 0, 0),
    (48, 49, -1, "", 0, 0),
    (49, 50, -1, "", 0, 0),
    (50, 51, -1, "", 0, 0),
    (51, 48, -1, "", 0, 0),
    (52, 53, -1, "", 0, 0),
    (53, 54, -1, "", 0, 0),
    (54, 55, -1, "", 0, 0),
    (55, 52, -1, "", 0, 0),
    (56, 57, -1, "", 0, 0),
    (57, 58, -1, "", 0, 0),
    (58, 59, -1, "", 0, 0),
    (59, 56, -1, "", 0, 0),
    (60, 61, -1, "", 0, 0),
    (61, 62, -1, "", 0, 0),
    (62, 63, -1, "", 0, 0),
    (63, 60, -1, "", 0, 0),
]
for a, b, size, boundary, hidden, group in _segments:
    x0, y0 = _nodes[a][:2]
    x1, y1 = _nodes[b][:2]
    mi_addsegment(x0, y0, x1, y1)
    mi_selectsegment((x0+x1)/2, (y0+y1)/2)
    mi_setsegmentprop(boundary, size, 1 if size <= 0 else 0, hidden, group)
    mi_clearselected()
mi_zoomnatural()
# Скрипт воспроизводит этап в памяти. При необходимости сохраните свою копию через File → Save As.
print("Готов шаг 6. Модель неполная: переходите к следующему этапу, не запускайте решение.")
Трёхфазный трансформатор: холостой ход. Шаг 6: Отрезки и дуги.
Рисунок 20.40. Трёхфазный трансформатор: холостой ход. Шаг 6: Отрезки и дуги. Открыть в полном размере

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

Этап 7 из 11

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

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

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

Таблица 20.45. Положения всех меток
№x или r, ммy или z, ммБудущий материал
0187187Воздух
1050Линейная сталь
2-77,50Обмоточная область
3-42,50Обмоточная область
4-17,50Обмоточная область
517,50Обмоточная область
642,50Обмоточная область
777,50Обмоточная область
8-85,50Обмоточная область
9-370Обмоточная область
10-24,50Обмоточная область
1124,50Обмоточная область
12370Обмоточная область
1385,50Обмоточная область
14-3035Воздух
153035Воздух

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

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

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Трёхфазный трансформатор: холостой ход
# Шаг 7: Метки замкнутых областей
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(50, "millimeters", "planar", 1e-08, 40, 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(-0.099954836828649404, -0.48640204063636233), 1)
mi_addcircprop("Первичная фаза В", complex(-0.30046856274431327, 0.16047423486517901), 1)
mi_addcircprop("Первичная фаза С", complex(0.35688255274411812, 0.31649362216577392), 1)
mi_addcircprop("Вторичная фаза А", complex(0, 0), 1)
mi_addcircprop("Вторичная фаза В", complex(0, 0), 1)
mi_addcircprop("Вторичная фаза С", complex(0, 0), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
    (-220, -220, 0),
    (220, -220, 0),
    (220, 220, 0),
    (-220, 220, 0),
    (-70, -60, 0),
    (70, -60, 0),
    (70, 60, 0),
    (-70, 60, 0),
    (-50, -40, 0),
    (-10, -40, 0),
    (-10, 40, 0),
    (-50, 40, 0),
    (10, -40, 0),
    (50, -40, 0),
    (50, 40, 0),
    (10, 40, 0),
    (-80, -25, 0),
    (-75, -25, 0),
    (-75, 25, 0),
    (-80, 25, 0),
    (-45, -25, 0),
    (-40, -25, 0),
    (-40, 25, 0),
    (-45, 25, 0),
    (-20, -25, 0),
    (-15, -25, 0),
    (-15, 25, 0),
    (-20, 25, 0),
    (15, -25, 0),
    (20, -25, 0),
    (20, 25, 0),
    (15, 25, 0),
    (40, -25, 0),
    (45, -25, 0),
    (45, 25, 0),
    (40, 25, 0),
    (75, -25, 0),
    (80, -25, 0),
    (80, 25, 0),
    (75, 25, 0),
    (-88, -25, 0),
    (-83, -25, 0),
    (-83, 25, 0),
    (-88, 25, 0),
    (-39, -25, 0),
    (-35, -25, 0),
    (-35, 25, 0),
    (-39, 25, 0),
    (-27, -25, 0),
    (-22, -25, 0),
    (-22, 25, 0),
    (-27, 25, 0),
    (22, -25, 0),
    (27, -25, 0),
    (27, 25, 0),
    (22, 25, 0),
    (35, -25, 0),
    (39, -25, 0),
    (39, 25, 0),
    (35, 25, 0),
    (83, -25, 0),
    (88, -25, 0),
    (88, 25, 0),
    (83, 25, 0),
]
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),
    (4, 5, -1, "", 0, 0),
    (5, 6, -1, "", 0, 0),
    (6, 7, -1, "", 0, 0),
    (7, 4, -1, "", 0, 0),
    (8, 9, -1, "", 0, 0),
    (9, 10, -1, "", 0, 0),
    (10, 11, -1, "", 0, 0),
    (11, 8, -1, "", 0, 0),
    (12, 13, -1, "", 0, 0),
    (13, 14, -1, "", 0, 0),
    (14, 15, -1, "", 0, 0),
    (15, 12, -1, "", 0, 0),
    (16, 17, -1, "", 0, 0),
    (17, 18, -1, "", 0, 0),
    (18, 19, -1, "", 0, 0),
    (19, 16, -1, "", 0, 0),
    (20, 21, -1, "", 0, 0),
    (21, 22, -1, "", 0, 0),
    (22, 23, -1, "", 0, 0),
    (23, 20, -1, "", 0, 0),
    (24, 25, -1, "", 0, 0),
    (25, 26, -1, "", 0, 0),
    (26, 27, -1, "", 0, 0),
    (27, 24, -1, "", 0, 0),
    (28, 29, -1, "", 0, 0),
    (29, 30, -1, "", 0, 0),
    (30, 31, -1, "", 0, 0),
    (31, 28, -1, "", 0, 0),
    (32, 33, -1, "", 0, 0),
    (33, 34, -1, "", 0, 0),
    (34, 35, -1, "", 0, 0),
    (35, 32, -1, "", 0, 0),
    (36, 37, -1, "", 0, 0),
    (37, 38, -1, "", 0, 0),
    (38, 39, -1, "", 0, 0),
    (39, 36, -1, "", 0, 0),
    (40, 41, -1, "", 0, 0),
    (41, 42, -1, "", 0, 0),
    (42, 43, -1, "", 0, 0),
    (43, 40, -1, "", 0, 0),
    (44, 45, -1, "", 0, 0),
    (45, 46, -1, "", 0, 0),
    (46, 47, -1, "", 0, 0),
    (47, 44, -1, "", 0, 0),
    (48, 49, -1, "", 0, 0),
    (49, 50, -1, "", 0, 0),
    (50, 51, -1, "", 0, 0),
    (51, 48, -1, "", 0, 0),
    (52, 53, -1, "", 0, 0),
    (53, 54, -1, "", 0, 0),
    (54, 55, -1, "", 0, 0),
    (55, 52, -1, "", 0, 0),
    (56, 57, -1, "", 0, 0),
    (57, 58, -1, "", 0, 0),
    (58, 59, -1, "", 0, 0),
    (59, 56, -1, "", 0, 0),
    (60, 61, -1, "", 0, 0),
    (61, 62, -1, "", 0, 0),
    (62, 63, -1, "", 0, 0),
    (63, 60, -1, "", 0, 0),
]
for a, b, size, boundary, hidden, group in _segments:
    x0, y0 = _nodes[a][:2]
    x1, y1 = _nodes[b][:2]
    mi_addsegment(x0, y0, x1, y1)
    mi_selectsegment((x0+x1)/2, (y0+y1)/2)
    mi_setsegmentprop(boundary, size, 1 if size <= 0 else 0, hidden, group)
    mi_clearselected()
# Метки: положение, материал, размер элемента, цепь, намагничивание, группа, витки.
_labels = [
    (187, 187, "", 0, "", 0, 0, 1),
    (0, 50, "", 0, "", 0, 0, 1),
    (-77.5, 0, "", 0, "", 0, 0, 1),
    (-42.5, 0, "", 0, "", 0, 0, 1),
    (-17.5, 0, "", 0, "", 0, 0, 1),
    (17.5, 0, "", 0, "", 0, 0, 1),
    (42.5, 0, "", 0, "", 0, 0, 1),
    (77.5, 0, "", 0, "", 0, 0, 1),
    (-85.5, 0, "", 0, "", 0, 0, 1),
    (-37, 0, "", 0, "", 0, 0, 1),
    (-24.5, 0, "", 0, "", 0, 0, 1),
    (24.5, 0, "", 0, "", 0, 0, 1),
    (37, 0, "", 0, "", 0, 0, 1),
    (85.5, 0, "", 0, "", 0, 0, 1),
    (-30, 35, "", 0, "", 0, 0, 1),
    (30, 35, "", 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: Метки замкнутых областей.
Рисунок 20.41. Трёхфазный трансформатор: холостой ход. Шаг 7: Метки замкнутых областей. Открыть в полном размере

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

Этап 8 из 11

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

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

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

Таблица 20.46. Материалы, цепи и витки каждой области
№x или r, ммy или z, ммМатериалЦепьВитки со знакомНамагничиваниеГруппа
0187187ВоздухНет10^\circ0
1050Линейная стальНет10^\circ0
2-77,50Обмоточная областьПервичная фаза А2000^\circ0
3-42,50Обмоточная областьПервичная фаза А-2000^\circ0
4-17,50Обмоточная областьПервичная фаза В2000^\circ0
517,50Обмоточная областьПервичная фаза В-2000^\circ0
642,50Обмоточная областьПервичная фаза С2000^\circ0
777,50Обмоточная областьПервичная фаза С-2000^\circ0
8-85,50Обмоточная областьВторичная фаза А1000^\circ0
9-370Обмоточная областьВторичная фаза А-1000^\circ0
10-24,50Обмоточная областьВторичная фаза В1000^\circ0
1124,50Обмоточная областьВторичная фаза В-1000^\circ0
12370Обмоточная областьВторичная фаза С1000^\circ0
1385,50Обмоточная областьВторичная фаза С-1000^\circ0
14-3035ВоздухНет10^\circ0
153035ВоздухНет10^\circ0

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

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

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Трёхфазный трансформатор: холостой ход
# Шаг 8: Назначения материалов и обмоток
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(50, "millimeters", "planar", 1e-08, 40, 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(-0.099954836828649404, -0.48640204063636233), 1)
mi_addcircprop("Первичная фаза В", complex(-0.30046856274431327, 0.16047423486517901), 1)
mi_addcircprop("Первичная фаза С", complex(0.35688255274411812, 0.31649362216577392), 1)
mi_addcircprop("Вторичная фаза А", complex(0, 0), 1)
mi_addcircprop("Вторичная фаза В", complex(0, 0), 1)
mi_addcircprop("Вторичная фаза С", complex(0, 0), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
    (-220, -220, 0),
    (220, -220, 0),
    (220, 220, 0),
    (-220, 220, 0),
    (-70, -60, 0),
    (70, -60, 0),
    (70, 60, 0),
    (-70, 60, 0),
    (-50, -40, 0),
    (-10, -40, 0),
    (-10, 40, 0),
    (-50, 40, 0),
    (10, -40, 0),
    (50, -40, 0),
    (50, 40, 0),
    (10, 40, 0),
    (-80, -25, 0),
    (-75, -25, 0),
    (-75, 25, 0),
    (-80, 25, 0),
    (-45, -25, 0),
    (-40, -25, 0),
    (-40, 25, 0),
    (-45, 25, 0),
    (-20, -25, 0),
    (-15, -25, 0),
    (-15, 25, 0),
    (-20, 25, 0),
    (15, -25, 0),
    (20, -25, 0),
    (20, 25, 0),
    (15, 25, 0),
    (40, -25, 0),
    (45, -25, 0),
    (45, 25, 0),
    (40, 25, 0),
    (75, -25, 0),
    (80, -25, 0),
    (80, 25, 0),
    (75, 25, 0),
    (-88, -25, 0),
    (-83, -25, 0),
    (-83, 25, 0),
    (-88, 25, 0),
    (-39, -25, 0),
    (-35, -25, 0),
    (-35, 25, 0),
    (-39, 25, 0),
    (-27, -25, 0),
    (-22, -25, 0),
    (-22, 25, 0),
    (-27, 25, 0),
    (22, -25, 0),
    (27, -25, 0),
    (27, 25, 0),
    (22, 25, 0),
    (35, -25, 0),
    (39, -25, 0),
    (39, 25, 0),
    (35, 25, 0),
    (83, -25, 0),
    (88, -25, 0),
    (88, 25, 0),
    (83, 25, 0),
]
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),
    (4, 5, -1, "", 0, 0),
    (5, 6, -1, "", 0, 0),
    (6, 7, -1, "", 0, 0),
    (7, 4, -1, "", 0, 0),
    (8, 9, -1, "", 0, 0),
    (9, 10, -1, "", 0, 0),
    (10, 11, -1, "", 0, 0),
    (11, 8, -1, "", 0, 0),
    (12, 13, -1, "", 0, 0),
    (13, 14, -1, "", 0, 0),
    (14, 15, -1, "", 0, 0),
    (15, 12, -1, "", 0, 0),
    (16, 17, -1, "", 0, 0),
    (17, 18, -1, "", 0, 0),
    (18, 19, -1, "", 0, 0),
    (19, 16, -1, "", 0, 0),
    (20, 21, -1, "", 0, 0),
    (21, 22, -1, "", 0, 0),
    (22, 23, -1, "", 0, 0),
    (23, 20, -1, "", 0, 0),
    (24, 25, -1, "", 0, 0),
    (25, 26, -1, "", 0, 0),
    (26, 27, -1, "", 0, 0),
    (27, 24, -1, "", 0, 0),
    (28, 29, -1, "", 0, 0),
    (29, 30, -1, "", 0, 0),
    (30, 31, -1, "", 0, 0),
    (31, 28, -1, "", 0, 0),
    (32, 33, -1, "", 0, 0),
    (33, 34, -1, "", 0, 0),
    (34, 35, -1, "", 0, 0),
    (35, 32, -1, "", 0, 0),
    (36, 37, -1, "", 0, 0),
    (37, 38, -1, "", 0, 0),
    (38, 39, -1, "", 0, 0),
    (39, 36, -1, "", 0, 0),
    (40, 41, -1, "", 0, 0),
    (41, 42, -1, "", 0, 0),
    (42, 43, -1, "", 0, 0),
    (43, 40, -1, "", 0, 0),
    (44, 45, -1, "", 0, 0),
    (45, 46, -1, "", 0, 0),
    (46, 47, -1, "", 0, 0),
    (47, 44, -1, "", 0, 0),
    (48, 49, -1, "", 0, 0),
    (49, 50, -1, "", 0, 0),
    (50, 51, -1, "", 0, 0),
    (51, 48, -1, "", 0, 0),
    (52, 53, -1, "", 0, 0),
    (53, 54, -1, "", 0, 0),
    (54, 55, -1, "", 0, 0),
    (55, 52, -1, "", 0, 0),
    (56, 57, -1, "", 0, 0),
    (57, 58, -1, "", 0, 0),
    (58, 59, -1, "", 0, 0),
    (59, 56, -1, "", 0, 0),
    (60, 61, -1, "", 0, 0),
    (61, 62, -1, "", 0, 0),
    (62, 63, -1, "", 0, 0),
    (63, 60, -1, "", 0, 0),
]
for a, b, size, boundary, hidden, group in _segments:
    x0, y0 = _nodes[a][:2]
    x1, y1 = _nodes[b][:2]
    mi_addsegment(x0, y0, x1, y1)
    mi_selectsegment((x0+x1)/2, (y0+y1)/2)
    mi_setsegmentprop(boundary, size, 1 if size <= 0 else 0, hidden, group)
    mi_clearselected()
# Метки: положение, материал, размер элемента, цепь, намагничивание, группа, витки.
_labels = [
    (187, 187, "Воздух", 0, "", 0, 0, 1),
    (0, 50, "Линейная сталь", 0, "", 0, 0, 1),
    (-77.5, 0, "Обмоточная область", 0, "Первичная фаза А", 0, 0, 200),
    (-42.5, 0, "Обмоточная область", 0, "Первичная фаза А", 0, 0, -200),
    (-17.5, 0, "Обмоточная область", 0, "Первичная фаза В", 0, 0, 200),
    (17.5, 0, "Обмоточная область", 0, "Первичная фаза В", 0, 0, -200),
    (42.5, 0, "Обмоточная область", 0, "Первичная фаза С", 0, 0, 200),
    (77.5, 0, "Обмоточная область", 0, "Первичная фаза С", 0, 0, -200),
    (-85.5, 0, "Обмоточная область", 0, "Вторичная фаза А", 0, 0, 100),
    (-37, 0, "Обмоточная область", 0, "Вторичная фаза А", 0, 0, -100),
    (-24.5, 0, "Обмоточная область", 0, "Вторичная фаза В", 0, 0, 100),
    (24.5, 0, "Обмоточная область", 0, "Вторичная фаза В", 0, 0, -100),
    (37, 0, "Обмоточная область", 0, "Вторичная фаза С", 0, 0, 100),
    (85.5, 0, "Обмоточная область", 0, "Вторичная фаза С", 0, 0, -100),
    (-30, 35, "Воздух", 0, "", 0, 0, 1),
    (30, 35, "Воздух", 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: Назначения материалов и обмоток.
Рисунок 20.42. Трёхфазный трансформатор: холостой ход. Шаг 8: Назначения материалов и обмоток. Открыть в полном размере

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

Этап 9 из 11

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

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

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

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

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

Таблица 20.48. Ограничения сетки отрезков
№ отрезкаМаксимальная длина, ммРежим
0-1автоматический
1-1автоматический
2-1автоматический
3-1автоматический
4-1автоматический
5-1автоматический
6-1автоматический
7-1автоматический
8-1автоматический
9-1автоматический
10-1автоматический
11-1автоматический
12-1автоматический
13-1автоматический
14-1автоматический
15-1автоматический
16-1автоматический
17-1автоматический
18-1автоматический
19-1автоматический
20-1автоматический
21-1автоматический
22-1автоматический
23-1автоматический
24-1автоматический
25-1автоматический
26-1автоматический
27-1автоматический
28-1автоматический
29-1автоматический
30-1автоматический
31-1автоматический
32-1автоматический
33-1автоматический
34-1автоматический
35-1автоматический
36-1автоматический
37-1автоматический
38-1автоматический
39-1автоматический
40-1автоматический
41-1автоматический
42-1автоматический
43-1автоматический
44-1автоматический
45-1автоматический
46-1автоматический
47-1автоматический
48-1автоматический
49-1автоматический
50-1автоматический
51-1автоматический
52-1автоматический
53-1автоматический
54-1автоматический
55-1автоматический
56-1автоматический
57-1автоматический
58-1автоматический
59-1автоматический
60-1автоматический
61-1автоматический
62-1автоматический
63-1автоматический
Таблица 20.49. Ограничения сетки дуг
№ дугиМаксимальный угол элемента, {}^\circ

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

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

Посмотреть программу этапа с русскими комментариями
Python · программа этапа
# Трёхфазный трансформатор: холостой ход
# Шаг 9: Локальные размеры сетки и готовая модель
# Запускайте внутри FEMM 5 через File → Open Python Script.
# Исходные учебные модели не изменяются; новый полевой расчёт не выполняется.
import math
# Новый документ: последующие команды относятся только к нему.
newdocument(0)
mi_probdef(50, "millimeters", "planar", 1e-08, 40, 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(-0.099954836828649404, -0.48640204063636233), 1)
mi_addcircprop("Первичная фаза В", complex(-0.30046856274431327, 0.16047423486517901), 1)
mi_addcircprop("Первичная фаза С", complex(0.35688255274411812, 0.31649362216577392), 1)
mi_addcircprop("Вторичная фаза А", complex(0, 0), 1)
mi_addcircprop("Вторичная фаза В", complex(0, 0), 1)
mi_addcircprop("Вторичная фаза С", complex(0, 0), 1)
mi_addboundprop("Нулевой потенциал", 0, 0, 0, 0, 0, 0, complex(0, 0), complex(0, 0), 0, 0, 0)
# Координаты сохранены с исходной точностью; единицы — миллиметры.
_nodes = [
    (-220, -220, 0),
    (220, -220, 0),
    (220, 220, 0),
    (-220, 220, 0),
    (-70, -60, 0),
    (70, -60, 0),
    (70, 60, 0),
    (-70, 60, 0),
    (-50, -40, 0),
    (-10, -40, 0),
    (-10, 40, 0),
    (-50, 40, 0),
    (10, -40, 0),
    (50, -40, 0),
    (50, 40, 0),
    (10, 40, 0),
    (-80, -25, 0),
    (-75, -25, 0),
    (-75, 25, 0),
    (-80, 25, 0),
    (-45, -25, 0),
    (-40, -25, 0),
    (-40, 25, 0),
    (-45, 25, 0),
    (-20, -25, 0),
    (-15, -25, 0),
    (-15, 25, 0),
    (-20, 25, 0),
    (15, -25, 0),
    (20, -25, 0),
    (20, 25, 0),
    (15, 25, 0),
    (40, -25, 0),
    (45, -25, 0),
    (45, 25, 0),
    (40, 25, 0),
    (75, -25, 0),
    (80, -25, 0),
    (80, 25, 0),
    (75, 25, 0),
    (-88, -25, 0),
    (-83, -25, 0),
    (-83, 25, 0),
    (-88, 25, 0),
    (-39, -25, 0),
    (-35, -25, 0),
    (-35, 25, 0),
    (-39, 25, 0),
    (-27, -25, 0),
    (-22, -25, 0),
    (-22, 25, 0),
    (-27, 25, 0),
    (22, -25, 0),
    (27, -25, 0),
    (27, 25, 0),
    (22, 25, 0),
    (35, -25, 0),
    (39, -25, 0),
    (39, 25, 0),
    (35, 25, 0),
    (83, -25, 0),
    (88, -25, 0),
    (88, 25, 0),
    (83, 25, 0),
]
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),
    (4, 5, -1, "", 0, 0),
    (5, 6, -1, "", 0, 0),
    (6, 7, -1, "", 0, 0),
    (7, 4, -1, "", 0, 0),
    (8, 9, -1, "", 0, 0),
    (9, 10, -1, "", 0, 0),
    (10, 11, -1, "", 0, 0),
    (11, 8, -1, "", 0, 0),
    (12, 13, -1, "", 0, 0),
    (13, 14, -1, "", 0, 0),
    (14, 15, -1, "", 0, 0),
    (15, 12, -1, "", 0, 0),
    (16, 17, -1, "", 0, 0),
    (17, 18, -1, "", 0, 0),
    (18, 19, -1, "", 0, 0),
    (19, 16, -1, "", 0, 0),
    (20, 21, -1, "", 0, 0),
    (21, 22, -1, "", 0, 0),
    (22, 23, -1, "", 0, 0),
    (23, 20, -1, "", 0, 0),
    (24, 25, -1, "", 0, 0),
    (25, 26, -1, "", 0, 0),
    (26, 27, -1, "", 0, 0),
    (27, 24, -1, "", 0, 0),
    (28, 29, -1, "", 0, 0),
    (29, 30, -1, "", 0, 0),
    (30, 31, -1, "", 0, 0),
    (31, 28, -1, "", 0, 0),
    (32, 33, -1, "", 0, 0),
    (33, 34, -1, "", 0, 0),
    (34, 35, -1, "", 0, 0),
    (35, 32, -1, "", 0, 0),
    (36, 37, -1, "", 0, 0),
    (37, 38, -1, "", 0, 0),
    (38, 39, -1, "", 0, 0),
    (39, 36, -1, "", 0, 0),
    (40, 41, -1, "", 0, 0),
    (41, 42, -1, "", 0, 0),
    (42, 43, -1, "", 0, 0),
    (43, 40, -1, "", 0, 0),
    (44, 45, -1, "", 0, 0),
    (45, 46, -1, "", 0, 0),
    (46, 47, -1, "", 0, 0),
    (47, 44, -1, "", 0, 0),
    (48, 49, -1, "", 0, 0),
    (49, 50, -1, "", 0, 0),
    (50, 51, -1, "", 0, 0),
    (51, 48, -1, "", 0, 0),
    (52, 53, -1, "", 0, 0),
    (53, 54, -1, "", 0, 0),
    (54, 55, -1, "", 0, 0),
    (55, 52, -1, "", 0, 0),
    (56, 57, -1, "", 0, 0),
    (57, 58, -1, "", 0, 0),
    (58, 59, -1, "", 0, 0),
    (59, 56, -1, "", 0, 0),
    (60, 61, -1, "", 0, 0),
    (61, 62, -1, "", 0, 0),
    (62, 63, -1, "", 0, 0),
    (63, 60, -1, "", 0, 0),
]
for a, b, size, boundary, hidden, group in _segments:
    x0, y0 = _nodes[a][:2]
    x1, y1 = _nodes[b][:2]
    mi_addsegment(x0, y0, x1, y1)
    mi_selectsegment((x0+x1)/2, (y0+y1)/2)
    mi_setsegmentprop(boundary, size, 1 if size <= 0 else 0, hidden, group)
    mi_clearselected()
# Метки: положение, материал, размер элемента, цепь, намагничивание, группа, витки.
_labels = [
    (187, 187, "Воздух", 11, "", 0, 0, 1),
    (0, 50, "Линейная сталь", 2, "", 0, 0, 1),
    (-77.5, 0, "Обмоточная область", 2, "Первичная фаза А", 0, 0, 200),
    (-42.5, 0, "Обмоточная область", 2, "Первичная фаза А", 0, 0, -200),
    (-17.5, 0, "Обмоточная область", 2, "Первичная фаза В", 0, 0, 200),
    (17.5, 0, "Обмоточная область", 2, "Первичная фаза В", 0, 0, -200),
    (42.5, 0, "Обмоточная область", 2, "Первичная фаза С", 0, 0, 200),
    (77.5, 0, "Обмоточная область", 2, "Первичная фаза С", 0, 0, -200),
    (-85.5, 0, "Обмоточная область", 2, "Вторичная фаза А", 0, 0, 100),
    (-37, 0, "Обмоточная область", 2, "Вторичная фаза А", 0, 0, -100),
    (-24.5, 0, "Обмоточная область", 2, "Вторичная фаза В", 0, 0, 100),
    (24.5, 0, "Обмоточная область", 2, "Вторичная фаза В", 0, 0, -100),
    (37, 0, "Обмоточная область", 2, "Вторичная фаза С", 0, 0, 100),
    (85.5, 0, "Обмоточная область", 2, "Вторичная фаза С", 0, 0, -100),
    (-30, 35, "Воздух", 2, "", 0, 0, 1),
    (30, 35, "Воздух", 2, "", 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: Локальные размеры сетки и готовая модель.
Рисунок 20.43. Трёхфазный трансформатор: холостой ход. Шаг 9: Локальные размеры сетки и готовая модель. Открыть в полном размере

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

Этап 10 из 11

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

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

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

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

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

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

Посмотреть программу этапа с русскими комментариями
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: Просмотр сохранённой сетки.
Рисунок 20.44. Трёхфазный трансформатор: холостой ход. Шаг 10: Просмотр сохранённой сетки. Открыть в полном размере

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

Этап 11 из 11

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

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

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

Таблица 20.51. Результаты всех цепей
ЦепьКомплексная амплитуда тока, АКомплексная амплитуда полевого напряжения, ВКомплексная амплитуда потокосцепления, Вб
Первичная фаза А-0{,}09995 + j\cdot (-0{,}4864)33{,}98 + j\cdot (0{,}1946)619{,}3 \times 10^{-6} + j\cdot (-0{,}1082)
Вторичная фаза В0-8{,}423 + j\cdot (-14{,}72)-0{,}04687 + j\cdot (0{,}02681)
Первичная фаза С0{,}3569 + j\cdot (0{,}3165)-17{,}11 + j\cdot (29{,}27)0{,}09316 + j\cdot (0{,}05447)
Первичная фаза В-0{,}3005 + j\cdot (0{,}1605)-16{,}85 + j\cdot (-29{,}46)-0{,}09377 + j\cdot (0{,}05364)
Вторичная фаза А016{,}98 + j\cdot (0{,}1026)326{,}6 \times 10^{-6} + j\cdot (-0{,}05404)
Вторичная фаза С0-8{,}547 + j\cdot (14{,}63)0{,}04656 + j\cdot (0{,}02721)
Таблица 20.52. Объёмные интегралы
ВеличинаЗначение
Средняя энергия, Дж0,03495
Средняя коэнергия, Дж0,03495

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

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

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