Если одно из понятий незнакомо, вернитесь к предыдущему занятию и воспроизведите его численный пример. После этого переходите к новой постановке.
Место занятия в инженерной методике
Расчётная лабораторная работа · Оценка электрического поля, ёмкости и изоляционного промежутка
Инженерный вопрос. Воспроизводит ли программа согласованные зарядовый и энергетический результаты?
Распределение напряжённости и ёмкость используются при выборе размеров промежутка и электродов. Отдельная проверка кромок показывает, какие геометрические подробности влияют на максимум поля.
Последовательность решения, отчёт и критерии результата
Результат получают из наблюдаемых величин и проверяют в условиях данного практикума.
Последовательность решения
Обосновать постановку и способ измерения. Задайте потенциалы или заряды независимых проводников, свойства диэлектрика и требуемую полевую либо интегральную величину.
Ответить на вопрос по своим результатам. Сопоставьте полевые, зарядовые и энергетические величины с аналитическим контрольным пределом; проверьте потенциалы и зарядовый баланс.
Что включить в отчёт
Результат этого занятия. Журнал двух возбуждений с проверкой ёмкости и энергетической идентичности.
Данные именно этого опыта. Сохраните фактически считанные потенциалы, заряды, энергию и имя рабочего файла каждого режима.
Оформление наблюдений. Потенциалы, заряды, область и энергия; для поля — координаты и компоненты, для ёмкости — определение и полная геометрия электродов.
Как обосновать результат
Проверка из практикума. При U=200\,\mathrm{В} заряд удваивается, энергия увеличивается в четыре раза. При удвоении глубины C, Q, W удваиваются. Прямое численное сравнение возможно только при совпадении всех исходных данных и постановки.
Независимый контроль. Используйте зарядовый баланс и согласованные зарядовую и энергетическую оценки, если они предусмотрены постановкой занятия.
Критерий выполнения. Журнал содержит фактический V, Q, C, энергию и имя рабочего файла; аналитический self-check ниже проходит; нативное выполнение отмечается только по фактическому запуску.
Точность и расхождения. Для ёмкости и энергии уточняйте интегральную величину. Для поля у кромки фиксируйте физическое скругление либо удаление точки; сеточный максимум идеального угла не является прочностью изоляции.
Основание сравнения. Используйте определения поля, ёмкости и энергии из занятия. Однородный или слоистый зазор является пределом с заданными границами; локальный максимум у идеальной острой кромки требует отдельной оценки.
Вывод для устройства
Свяжите результат с размером электрода, ёмкостью или распределением напряжённости; вывод о пробое требует обоснованного критерия и данных для реального диэлектрика.
Границы вывода. Линейная электростатика даёт поле и энергию, но не критерий пробоя сама по себе. Параметры диэлектрика, состояние поверхности и физическое скругление требуют исходных данных.
Теория и вывод формул
Команды семейства ei задают электростатическую модель, а команды eo обращаются к загруженному решению. Расчёт выполняется последовательно: сохранение рабочей копии, изменение параметров, решение задачи, загрузка результата и извлечение данных.
Соглашения об обозначениях и единицах
\(i(t)\), \(u(t)\) — мгновенные значения; \(\widehat I\), \(\widehat U\) — комплексные амплитуды; \(\underline I_{\text{д}}\), \(\underline U_{\text{д}}\) — комплексные действующие значения. Для синусоиды \(\widehat I=\sqrt{2}\,\underline I_{\text{д}}\); действующее значение тока равно \(|\underline I_{\text{д}}|\). Нормировка обязательно учитывается в формулах мощности.
\(\Phi=\int_S\mathbf B\cdot\mathrm d\mathbf S\) — поток через ориентированную поверхность; \(\Psi=\sum_k\oint_{C_k}\mathbf A\cdot\mathrm d\mathbf l\) — потокосцепление последовательных витков с согласованными замкнутыми контурами. Только при одинаковом сцепленном потоке каждого витка \(\Psi=N\Phi\). Обе величины измеряются в веберах: число витков безразмерно. Запись «Вб·виток» подчёркивает суммирование.
\(\theta_{\text{м}}\), \(\Omega\) (также \(\omega_{\text{мех}}\)) — механические угол и угловая скорость. Для основной гармоники \(\theta_{\text{э}}=p\theta_{\text{м}}\), \(\omega_{\text{э}}=p\Omega\), где \(p\) — число пар полюсов. Геометрический период зубцов задаётся отдельно. В производных по углу используйте радианы.
Статическая индуктивность \(L_{\text{ст}}=\Psi/i\) — наклон секущей из начала координат; это определение используется при \(\Psi(0)=0\) и \(i\ne0\). Динамическая индуктивность \(L_{\text{дин}}=\partial\Psi/\partial i\) — наклон касательной (дифференциальная, инкрементальная); положение и остальные токи фиксированы. Для линейной характеристики без смещения обе равны одной индуктивности \(L\). При постоянных магнитах и взаимном возбуждении сначала учитывают ненулевое смещение потокосцепления.
Положительные направления, оси и специальные индексы определяются в конкретной задаче. Единицу берите из условия или заголовка таблицы; перед подстановкой в формулу СИ переводите миллиметры в метры, миллигенри в генри и градусы в радианы.
Численные результаты обычно показаны с четырьмя значащими цифрами; для сравнения близких значений в таблицах сходимости сохранено больше цифр. Полные значения остаются в исходных расчётных данных. Малые остатки вычисления координат на осях показаны как ноль; малые физические величины сохраняются в показательной записи.
Семейство ei работает с электростатическим препроцессором, eo — с загруженным решением. Порядок сохранение рабочей копии → изменение → анализ → загрузка → извлечение остаётся обязательным.
Имена проводников должны совпадать с моделью. При построении матрицы ёмкостей каждый столбец связан с конкретным независимым возбуждением. В таблице сохраняют потенциалы, заряды и единицы; ошибочный расчёт не превращают в нулевой столбец.
Вывод контрольного соотношения
Проверьте вычисление C=Q/U и энергетическую идентичность до автоматизации нескольких возбуждений.
Линейный диэлектрик; полный заряд электрода, а не плотность заряда; идеальные боковые условия исключают бахрому.
Переведите g=0{,}01\,\mathrm{м} и S=0{,}01\cdot 0{,}1=0{,}001\,\mathrm{м^2}. Примите \varepsilon _{0}=8{,}8541878128\cdot 10^{-12}\,\mathrm{Ф/м}.
Ёмкость равна 1,771·10⁻¹² Ф. Заряд электрода положительного потенциала равен +1{,}77083756256\cdot 10^{-10} Кл.
Энергия равна 8,854·10⁻⁹ Дж; сумма зарядов двух электродов равна нулю.
Границы применимости. Линейный диэлектрик; полный заряд электрода, а не плотность заряда; идеальные боковые условия исключают бахрому.
Связь с опытом в FEMM
Автоматизируйте сохранение двух режимов конденсатора через ei_saveas, ei_analyze, ei_loadsolution и eo_getconductorproperties; сверьте сигнатуры со справочником.
Сначала вычислите контрольное значение вручную, затем сформулируйте ожидаемый знак и зависимость от одного параметра. Повторите опыт в рабочей копии с изменением только этого параметра. Сохраняйте геометрию, единицы, глубину, материалы, источники и граничные условия вместе с результатом. Успешное завершение решателя означает решение введённой модели, но само по себе не доказывает её соответствие устройству.
Проверка и границы вывода
Журнал содержит фактический V, Q, C, энергию и имя рабочего файла; аналитический self-check ниже проходит; нативное выполнение отмечается только по фактическому запуску.
При U=200\,\mathrm{В} заряд удваивается, энергия увеличивается в четыре раза. При удвоении глубины C, Q, W удваиваются.
Нельзя читать eo до загрузки нового решения; список доступных команд в консоли зависит от текущего состояния документа.
Пояснения к официальному руководству
Подробности, которые следует учитывать при настройке и проверке модели. Все учебные пояснения.
Семейство команды определяет физику и стадию: mi/mo — магнитное поле, ei/eo — электростатика, hi/ho — тепло, ci/co — токопроводимость; i относится к исходной модели, o — к решению. newdocument/create используют номера 0,1,2,3 соответственно. Названия команд содержат только одно подчёркивание после префикса: старые расширенные написания с дополнительными подчёркиваниями не поддерживаются.
Первый выбор скрипта определяет физический модуль нового документа. После него используйте согласованную пару префиксов mi/mo, ei/eo, hi/ho или ci/co.
Таблица М.Н.41. Коды newdocument и create
doctype
Физический модуль
0
Магнитное поле
1
Электростатика
2
Теплопроводность
3
Протекание тока
При нескольких документах контролируйте setfocus и gettitle. После изменения исходной модели старое окно решения само по себе не доказывает актуальности результатов: сохраните модель, выполните analyze, затем loadsolution. createmesh возвращает число элементов; analyze умеет обновлять сетку без отдельного предварительного createmesh.
addsegment/addarc связывают ближайшие уже существующие узлы, а drawline/drawarc/drawrectangle создают нужные узлы. Поэтому одинаковые координаты аргументов не делают эти две группы взаимозаменяемыми. Метка области должна лежать в нужной замкнутой области и получить уже определённое свойство материала.
Один и тот же набор кодов используется в перемещении, копировании, масштабировании и отражении для четырёх препроцессоров. Передаваемый editaction делает выбор типа объектов явным; при его отсутствии используется текущий режим.
Таблица М.Н.40. Тип объектов в преобразованиях геометрии
editaction
Объекты
0
Узлы
1
Отрезки
2
Метки областей
3
Дуги
4
Группы
Круглые скобки вокруг необязательного editaction в PDF обозначают необязательность аргумента, а не буквальный синтаксис вызова Python.
Выбор объектов — часть состояния модели. selectgroup очищает прежний выбор и переводит редактор в режим группы. selectcircle/selectrectangle без editmode используют текущий режим; в этих функциях число 4 означает все классы. В преобразованиях editaction=4 означает групповое редактирование. После команд выбора проверяйте, какие объекты будут сдвинуты, скопированы или удалены.
В setblockprop направление намагничивания допускает строковую формулу. theta — полярный угол центра элемента в градусах, R — расстояние от начала координат; координаты обозначаются x/y в плоской и r/z в осесимметричной модели. Число витков имеет знак. automesh для области, elementsize ребра и maxsegdeg дуги управляют разными ограничениями сетки.
Глобальный smartmesh(0/1) переопределяет настройки документов на время сессии; smartmesh(-1) возвращает управление документным mi/ei/hi/ci_smartmesh. У makeABC все недостающие параметры могут выбираться автоматически. Для исследования сходимости и границы явно фиксируйте значения, чтобы изменение геометрии незаметно не изменило внешнюю область.
Проверьте на своей модели
Перед преобразованием проверьте setfocus/gettitle, выбранную группу и editaction.
Сравните результат addsegment без узлов и drawline на отдельной учебной копии.
Запишите параметры Smart Mesh, внешний радиус и число оболочек вместе с числом элементов.
Число propnum выбирает поле конкретного типа свойства. Один и тот же номер в mi_modifymaterial и hi_modifyboundprop относится к разным физическим величинам. В справочнике приведены отдельные таблицы для материалов, границ, точек, магнитных цепей и проводников четырёх модулей; используйте таблицу выбранной команды, а не общий список номеров.
Вызов ei_modifymaterial(name, propnum, value) меняет одно поле существующего свойства. Строка 0 переименовывает запись; остальные строки задают числовой параметр. Номер поля не является кодом типа границы.
Таблица М.Н.12. Коды свойств ei_modifymaterial
propnum
Поле
Смысл и единицы
0
BlockName
Имя материала
1
ex
Относительная диэлектрическая проницаемость по x или r; 1
2
ey
Относительная диэлектрическая проницаемость по y или z; 1
3
qs
Объёмная плотность свободного заряда, Кл/м³
Вызов ei_modifyboundprop(name, propnum, value) меняет одно поле существующего свойства. Строка 0 переименовывает запись; остальные строки задают числовой параметр. Номер поля не является кодом типа границы.
Вызов ei_modifypointprop(name, propnum, value) меняет одно поле существующего свойства. Строка 0 переименовывает запись; остальные строки задают числовой параметр. Номер поля не является кодом типа границы.
Таблица М.Н.14. Коды свойств ei_modifypointprop
propnum
Поле
Смысл и единицы
0
PointName
Имя точечного свойства
1
Vp
Заданный потенциал узла, В
2
qp
Линейная плотность точечного зарядового источника, Кл/м
Вызов ei_modifyconductorprop(name, propnum, value) меняет одно поле существующего свойства. Строка 0 переименовывает запись; остальные строки задают числовой параметр. Номер поля не является кодом типа границы.
Таблица М.Н.15. Коды свойств ei_modifyconductorprop
propnum
Поле
Смысл и единицы
0
ConductorName
Имя проводника
1
Vc
Потенциал проводника, В
2
qc
Полный заряд проводника, Кл
3
ConductorType
0 — заданный заряд; 1 — заданный потенциал
Неиспользуемые коэффициенты конкретного типа границы задаются нулём. В mi_addboundprop код BdryFormat=6/7 означает периодический/антипериодический воздушный зазор, а ia/oa — углы его внутренней и внешней сторон. У тепловой границы свои коды: температура, поток, конвекция, излучение, периодичность и антипериодичность. Если TinfRad опущен, используется Tinf.
Магнитные материалы используют МСм/м для проводимости и МА/м² для заданной плотности тока. Токовый модуль использует См/м и А/м². Ошибка в приставке даёт множитель миллион даже при безошибочном выполнении Python. Тепловая объёмная теплоёмкость kt задаётся в МДж/(м³·К), а источник q_v — в Вт/м³.
Точечный источник и терминальный проводник различны: qp электрического/теплового/токового точечного свойства задан на единицу длины, а qc проводника — полный заряд, мощность или ток. Магнитный точечный ток j в mi_addpointprop задаётся в амперах. Суммарные результаты модели дополнительно зависят от глубины плоской постановки или осесимметричного объёма.
Изменение материала через modifymaterial не заменяет проверку его физической модели. Для mi_addmaterial руководство допускает опускать хвост аргументов; важные \mu, H_c, \sigma, шихтовку и параметры провода задавайте явно. Числовой код LamType не означает, что измеренные потери уже подтверждены этой эквивалентной моделью.
Таблица Р.43.1. Коды свойств и физические единицы API
Параметры
Единицы и смысл
mi_addmaterial: J, Cduct
МА/м²; МСм/м
mi_addmaterial: Lam_d, WireD
мм независимо от единицы координат
mi_addmaterial: H_c
А/м
ci_addmaterial: ox,oy
См/м
hi_addmaterial: kt
МДж/(м³·К)
ei/hi/ci_addpointprop: qp
Кл/м; Вт/м; А/м соответственно
ei/hi/ci_addconductorprop: qc
Кл; Вт; А соответственно
getprobleminfo: depth, length unit
Обе длины возвращаются в метрах
getelement: координаты, площадь
Единицы геометрии; квадрат единицы геометрии
Проверьте на своей модели
До запуска укажите единицы каждого источника и проводимости; отдельно проверьте приставки М и отсутствие приставки.
По таблице конкретной modify-команды найдите propnum и проверьте обновлённое свойство.
Сопоставьте ток на выводе или тепловой поток с интегральным балансом модели.
У сетки есть два разных числа строк: Nn узлов и Ne треугольников. Вводные абзацы PDF описывают готовые numpy-массивы внутри FEMM и плоскую передачу через IPC с восстановлением формы обёрткой. Нативная проверка 16.10.2026 подтвердила массивы координат и полей, но обнаружила важное отличие getallelements: вместо документированной Ne×7 матрицы текущая сборка возвращает кортеж из четырёх массивов. Поэтому сначала проверяйте фактический контейнер, а не назначайте ему форму по краткой таблице.
На четырёх сохранённых решениях магнитного, электростатического, теплового и токового модулей получено: connectivity — Ne×3 int32, centroids — Ne×2 float64, areas — Ne float64, groups — Ne int32. Это четыре члена tuple в таком порядке. Первая тройка connectivity совпала с первыми полями getelement(1), а координаты getallnodes()[0] — с getnode(1). Передать np.int32 аргументом getallelements нельзя: в проверенной сборке команда принимает ноль аргументов. Эта проверка внутреннего Python не устанавливает форму ответа внешнего IPC.
Нумерация узлов API начинается с 1, а индексация массива Python и matplotlib — с 0. В элементной строке первые три поля являются номерами узлов; следующие два — координатами центра, затем идут площадь и группа. При переводе в matplotlib вычитайте 1 только из номеров узлов. Храните индексы как int32: int16 переполняется после 32767 и может превратить корректную сетку в набор отрицательных индексов.
Вычитать единицу требуется только из номеров узлов треугольника. Координаты, площадь и группа сохраняют свои значения.
Обозначения и единицы
N_n — число узлов; i_{\mathrm{FEMM}} — номер API от 1; i_{\mathrm{Python}} — индекс массива от 0. Все три величины целочисленные и безразмерные.
Условия применения. Для связности используйте int32. Знаковый int16 ограничен диапазоном −32768…32767 и может молча переполниться.
Формула выделяет математический смысл вычитания 1 из трёх индексов в примере matplotlib. Контейнер getallelements в проверенной сборке отличается от описания PDF; это отдельно разобрано в разделе.
Потенциалы V в электростатике и токопроводимости, а также T в теплопроводности возвращаются по узлам. Их производные D, J, F возвращаются по элементам и не сглаживаются. Магнитный mo_getalla согласно стр.115 выдаёт A в центрах элементов; это принципиальное исключение, которое нельзя соединить с массивом узлов как равнодлинные данные.
Для узлового графика A пример руководства получает координаты mo_getnode(k), затем A через mo_getpointvalues(x,y)[0]. Для крупной серии заранее выделяйте массивы и заполняйте их, а не накапливайте списки Python-чисел. Сроки выполнения примера в руководстве относятся к его модели и компьютеру; их нельзя обещать для произвольной сетки.
В гармонической магнитной и токовой постановке фазовые величины могут быть комплексными. Перед построением рисунка выберите \operatorname{Re}, \operatorname{Im}, модуль или фазу как отдельный шаг обработки. Смешение узлового потенциала, элементного поля и сглаженного точечного запроса может создать ошибку анализа даже при внешне одинаковом изображении.
Таблица Р.44.1. Узлы, элементы и пакетное чтение поля
Запрос
Форма и расположение
*_getallnodes
Nn×2: координаты всех узлов
*_getallelements в PDF
Ne×7: n_{1},n_{2},n_{3},xc,yc,area,group
*_getallelements в проверенной сборке
tuple: connectivity Ne×3; centroids Ne×2; areas Ne; groups Ne
mo_getallb / mo_getalla
Ne×2: B; Ne: A в центрах элементов
eo_getalld / eo_getallv
Ne×2: D; Nn: узловой V
ho_getallf / ho_getallt
Ne×2: F; Nn: узловой T
co_getallj / co_getallv
Ne×2: J; Nn: узловой V
mo_getallgapb / mo_getallgapa
npts×2: B_r,B_{\theta }; npts: A; по умолчанию npts=360
mo_getallgapharmonics
Nh×6: acc,acs,brc,brs,btc,bts для каждой гармоники
Проверьте на своей модели
Проверьте размеры всех массивов по numnodes/numelements, прежде чем объединять столбцы.
Подтвердите, что каждая тройка индексов после вычитания 1 лежит в диапазоне 0…Nn−1.
Для mo_getalla укажите расположение значений по элементам; для ho_getallt — по узлам.
Возвраты интегралов, гармоники зазора и ориентация контура
Перед интегралом очищайте старый контур или выбор областей и создавайте новый явно. Числовой type выбирает физическую операцию в конкретном модуле: одинаковое число не переносится из mo в eo/ho/co. Например, код 2 у mo_blockintegral означает энергию, у eo/ho_blockintegral — объём, а у co_blockintegral — полную мощность.
Перед вызовом eo_lineintegral выберите нужный документ результата и найдите код именно этой команды. Заново задайте контур и его направление: таблица связывает числовой type с физической величиной, а не с номером строки меню другого модуля.
Таблица М.Н.16. Результаты и коды eo_lineintegral
Код
Величина
Единица / смысл
0
Интеграл E\cdot t
В
1
Поток D\cdot n
Полный заряд, Кл; средняя D_n, Кл/м²
2
Геометрия контура
Длина, м; площадь поверхности, м²
3
Сила тензора напряжений
Компоненты силы, Н
4
Момент тензора напряжений
Н·м
В зависимости от кода возвращается одна или две величины. Нормаль и касательная определяются направлением контура.
Перед вызовом eo_blockintegral выберите нужный документ результата и найдите код именно этой команды. Очистите прежнее выделение, выберите области интегрирования и затем запишите код вместе с результатом и единицей.
Таблица М.Н.17. Результаты и коды eo_blockintegral
Код
Величина
Единица / смысл
0
Запасённая энергия
Дж
1
Площадь поперечного сечения
м²
2
Объём
м³
3
Средний вектор D
Кл/м²; две компоненты
4
Средний вектор E
В/м; две компоненты
5
Сила взвешенного тензора напряжений
Н; две компоненты
6
Момент взвешенного тензора напряжений
Н·м
В примере PDF F_x,F_y = eo_blockintegral(4) допущена ошибка: по таблице сила имеет код 5, а код 4 возвращает среднее поле E. Курс сохраняет коды таблицы и явно исправляет пример.
Перед вызовом eo_getpointvalues выберите нужный документ результата и найдите код именно этой команды. Здесь приведён порядок всех возвращаемых полей; физическую точку и единицы координат задают до запроса. Позиции таблицы начинаются с 1, индексы Python — с 0.
Таблица М.Н.18. Результаты и коды eo_getpointvalues
Позиция
Символ
Величина
Единица / нормировка
1
V
Потенциал
В
2
Dx
Компонента D по x или r
Кл/м²
3
Dy
Компонента D по y или z
Кл/м²
4
Ex
Компонента E по x или r
В/м
5
Ey
Компонента E по y или z
В/м
6
ex
Проницаемость по x или r
Таблица не уточняет абсолютную/относительную нормировку
7
ey
Проницаемость по y или z
Таблица не уточняет абсолютную/относительную нормировку
8
nrg
Плотность энергии поля
Дж/м³
Позиция 1 соответствует Python-индексу 0. Не путайте параметр ex/ey материала (относительная \varepsilon) с неподтверждённой нормировкой одноимённого возврата.
Перед вызовом eo_makeplot выберите нужный документ результата и найдите код именно этой команды. Сначала постройте контур; PlotType выбирает величину вдоль него. Координата X графика — расстояние по пути, число отсчётов не уточняет сетку.
Таблица М.Н.19. Результаты и коды eo_makeplot
Код
Величина
Единица / смысл
0
V
В
1
|D|
Кл/м²
2
D·n
Кл/м²
3
D·t
Кл/м²
4
|E|
В/м
5
E\cdot n
В/м
6
E\cdot t
В/м
D — электрическое смещение, не магнитная индукция. Файл результата makeplot — CSV; FileFormat игнорируется.
Перед вызовом eo_showdensityplot выберите нужный документ результата и найдите код именно этой команды. Код выбирает смысл цветовой шкалы. При сравнении вариантов фиксируйте одинаковую величину и границы шкалы.
Таблица М.Н.43. Результаты и коды eo_showdensityplot
Код
Величина
Единица / смысл
0
V
В
1
|D|
Кл/м²
2
|E|
В/м
Перед вызовом eo_showvectorplot выберите нужный документ результата и найдите код именно этой команды. Код выбирает физический вектор и его комплексную составляющую; масштаб стрелок задаётся отдельно и не меняет решение.
Таблица М.Н.44. Результаты и коды eo_showvectorplot
Код
Величина
Единица / смысл
0
Выключено
—
1
D
Кл/м²
2
E
В/м
Различайте количество физических величин и конкретный тип Python-контейнера. Документация часто пишет «один результат», не устанавливая скаляр или одноэлементный кортеж. Ранее выполненный нативный эталон курса подтвердил кортеж для eo_blockintegral(0) в своём режиме; это не проверка всех других кодов. Перед массовой выгрузкой исследуйте repr/type нужного ответа на малой модели.
mo_lineintegral может возвращать среднее и полный интеграл, либо компоненты постоянной и удвоенной по частоте силы. Члены 2\omega имеют смысл при ненулевой частоте. Текст упоминает взаимодействие постоянного и малого переменного поля в режиме дифференциальной проницаемости, но таблица не задаёт дополнительные индексы 1\omega: не добавляйте их в распаковку по предположению.
Контурный bendcontour требует не менее двух точек, угла от -180^\circ до +180{}^\circ и положительного anglestep. При менее чем двух точках операция игнорируется. Ориентация n/t задаётся направлением обхода; при смене направления отдельно проверяются знаки потока, напряжения и температурной разности.
У mo_gapintegral коды 0/2/3/5 возвращают одну величину момента или энергии, а 1/4/6 — две компоненты силы F_x,F_y. mo_getgapharmonics без n сообщает максимальный доступный порядок; с n даёт шесть коэффициентов. Угол в API задаётся в градусах, тогда как math.cos/math.sin принимают радианы.
Проверка описания и границы подтверждённого поведения
Для каждого вызова сверяйте имя, порядок аргументов, числовые коды опций и форму ответа. Сначала выполните небольшой контрольный расчёт с известной величиной; затем используйте команду в серии.
Справочник содержит 556 нативных имён команд. Выбирайте команду по физическому модулю и стадии расчёта; для интегралов заранее задайте нужные области или ориентированный контур. Сопоставляйте размерность и форму ответа с выбранной операцией.
eo_blockintegral(0) возвращает одноэлементный кортеж; извлеките его компоненту перед скалярными вычислениями. Для тепловой задачи проверяйте знак G по профилю температуры и закону Фурье. У getall-вызовов проверяйте форму массивов и индексацию связности. Для работы с CSV и регулярными выражениями используйте csv и re.split. mo_lineintegral(2) возвращает длину контура и площадь соответствующей поверхности.
Таблица Р.51.1. Аргументы и формы ответа команд FEMM 5
Команда и страницы руководства
Правило применения
csv, re.split; стр.92–95
Используйте csv для табличных данных и re.split для разделения строк по регулярному выражению.
getallelements, стр.114–115/128/142/157
getallelements возвращает кортеж из четырёх массивов; связность использует индексы узлов, начинающиеся с 1.
mi_probdef, стр.99; moverotate
Передавайте аргументы внутри скобок; editaction задавайте отдельным аргументом.
mo_lineintegral(2), стр.107
Результат содержит пару: длина контура и площадь соответствующей поверхности.
eo_blockintegral, стр.124
Для силы используйте код 5; код 4 не является этой операцией.
ho_lineintegral, стр.137
Для теплового потока используйте код 1; код 2 относится к геометрии контура.
ho_makeplot, стр.138
Выбирайте тепловые величины T/F/G: температуру, поток и компоненты температурного градиента.
ho_selectconductor, стр.139
Выбирается тепловой проводник; ho_blockintegral не вычисляет механическую силу.
ho_showcontourplot, стр.141
Изолинии относятся к температуре T; имена аргументов границ диапазона — lower_V и upper_V.
co_getpointvalues, стр.152
Смысл и единицы ox/oy сверяйте с материальными параметрами и контрольной токовой задачей; не подставляйте их как магнитную проницаемость.
co_showcontourplot, стр.155
Передавайте type внутри списка аргументов co_showcontourplot.
Проверьте на своей модели
Укажите команду, её аргументы, ожидаемую форму результата и единицы.
Проверьте каждый используемый код интеграла на подходящем контрольном примере.
Сопоставьте численный результат с физическим эталоном, а не только с отсутствием ошибки выполнения.
Проверка: При U=200\,\mathrm{В} заряд удваивается, энергия увеличивается в четыре раза. При удвоении глубины C, Q, W удваиваются. Значения получены аналитически и сами по себе не подтверждают выполнения полевого расчёта FEMM.
Практикум в FEMM 5
Автоматизируйте сохранение двух режимов конденсатора через ei_saveas, ei_analyze, ei_loadsolution и eo_getconductorproperties; сверьте сигнатуры со справочником.
Создайте Electrostatics Problem; Problem Definition: millimeters, Planar, Depth=100, Precision=1e-8.
Постройте узлы (0,0), (10,0), (10,10), (0,10), соедините четырьмя отрезками. Добавьте одну метку внутри; \varepsilon_x=\varepsilon_y=2.
Задайте проводникам имена left и right: потенциалы 0 и 100 В. Назначьте проводники соответствующим вертикальным отрезкам; не дублируйте их независимыми зарядовыми условиями.
После решения откройте Conductor Properties и прочитайте V, Q. Выделите весь диэлектрик и найдите энергию блоковым интегралом. Вычислите C=Q_{\mathrm{right}}/100 и сравните с 2W/100^{2}.
Ожидаемый результат.C = 1{,}77083756256\,\mathrm{пФ}; Q+ = 177{,}083756256 пКл; W = 8{,}8541878128 нДж. Для FEMM сравнение действительно только при совпадении идеализации и граничных условий.
Как проверить. При U=200\,\mathrm{В} заряд удваивается, энергия увеличивается в четыре раза. При удвоении глубины C, Q, W удваиваются. Прямое численное сравнение возможно только при совпадении всех исходных данных и постановки.
Обработка и анализ результатов
Воспроизводит ли программа согласованные зарядовый и энергетический результаты?
Сохраните фактически считанные потенциалы, заряды, энергию и имя рабочего файла каждого режима.
Сопоставьте полевые, зарядовые и энергетические величины с аналитическим контрольным пределом; проверьте потенциалы и зарядовый баланс.
С чем сравнить. Используйте определения поля, ёмкости и энергии из занятия. Однородный или слоистый зазор является пределом с заданными границами; локальный максимум у идеальной острой кромки требует отдельной оценки.
Итог работы. Журнал двух возбуждений с проверкой ёмкости и энергетической идентичности.
Аналитический эталон линейного плоского конденсатора: именованные исходные величины заданы в СИ, площадь включает глубину модели. Сначала вычисляются C, Q и W, затем проверяются численный эталон и равенство C = Q/U = 2W/U^{2}. Проверки используют одну аналитическую модель и не заменяют независимого решения FEMM; краевое поле исключено. Метки вывода содержат единицы: Ф, Кл и Дж.
Python · встроенный MicroPython FEMM 5
"""Контрольный вычислительный фрагмент.Среда: встроенный MicroPython FEMM 5.Аналитический учебный пример; полевой решатель не вызывается.Параметры, единицы величин и порядок вывода пояснены по стадиям."""# Цель: аналитический эталон плоского конденсатора без краевого поля.# Все исходные величины заданы в СИ; диэлектрик линейный и однородный.# Результат: ёмкость C [Ф], заряд положительного электрода Q [Кл],# энергия W [Дж]. Полевой решатель FEMM этот фрагмент не запускает.# 1. Исходные данные: площадь учитывает высоту электрода и глубину модели.eps0_f_m=8.8541878128e-12# Электрическая постоянная, Ф/м.eps_r=2.0# Относительная проницаемость, безразмерная.area_m2=0.001# Площадь электрода: 0,01 м × 0,1 м.gap_m=0.01# Зазор между электродами, м.U=100.0# Разность потенциалов, В.# 2. Применяем формулы C = εS/g, Q = CU и W = CU²/2.C=eps0_f_m*eps_r*area_m2/gap_mQ=C*UW=0.5*C*U*U# 3. Сверяем с численным эталоном и энергетическим определением ёмкости.# Допуск относится к этому аналитическому примеру, а не к сетке FEMM.capacitance_tolerance_f=1e-22assertabs(C-1.77083756256e-12)<capacitance_tolerance_fassertabs(2.0*W/(U*U)-Q/U)<capacitance_tolerance_fprint("C_F",C,"Q_C",Q,"W_J",W)
Расчётные исследования по теме
Изучите физическую постановку, выполните программу во встроенном Python FEMM 5 и проверьте результаты по сохранённым моделям и независимым критериям.
Профилирование электродов позволяет уменьшить концентрацию электрического поля у их краёв. Произвольное скругление не даёт готового аналитического распределения, поэтому в этой работе выбран профиль, построенный конформным преобразованием. Его потенциал, поле и ёмкость расчётного фрагмента определяются независимо от FEMM и служат проверкой геометрии.
Дифференциальная пара имеет две связанные сигнальные полосы и общий опорный проводник. Её электрические свойства описываются матрицей ёмкостей, а не суммой двух независимых одиночных линий. В этой работе матрица определяется в реальном диэлектрическом сечении и в вакуумном контрольном сечении; затем вычисляется дифференциальное волновое сопротивление в квазиTEM приближении.
Изолированное проволочное кольцо является трёхмерным телом, но его осевая симметрия позволяет вычислить ёмкость в FEMM без трёхмерного решателя. Круг в плоскости r–z представляет сечение проволоки; после вращения он образует тор. Работа проверяет правильный геометрический вес полного тела и сравнивает результат с приближением тонкого кольца.
Снимки интерфейса FEMM показывают геометрию, настройки и работу с результатами в FEMM 5. Откройте изображение, чтобы рассмотреть подписи и значения в полном размере.
Рабочая область модели «Профиль Роговского: конформное поле и распределение напряжённости». Нативный препроцессор FEMM 5. Открыть в полном размереСохранённое решение «Профиль Роговского: конформное поле и распределение напряжённости». Электрический потенциал V, В, между профилированными электродами; диапазон −100…100 В. Открыть в полном размереРабочая область модели «Дифференциальная пара: матрица ёмкостей и квазистатическое сопротивление». Нативный препроцессор FEMM 5. Открыть в полном размереСохранённое решение «Дифференциальная пара: матрица ёмкостей и квазистатическое сопротивление». Электростатический потенциал V, В: один базисный режим возбуждения дифференциальной пары для определения её параметров. Увеличенная область около пары; верхняя удалённая граница за кадром.Открыть в полном размереУвеличенное сечение проволочного кольца: центр r = 20 мм, z = 0; радиус проволоки 0,25 мм. Показан меридиональный разрез тела вращения; ось и удалённая граница за кадром. Открыть в полном размереСохранённое решение «Ёмкость проволочного кольца: полное тело вращения и тонкое кольцо». Потенциал V, В, в увеличенной области проволочного кольца. Слева видна ось r = 0; прямоугольник — вспомогательная область сгущения сетки; удалённая сферическая граница за кадром. Открыть в полном размере
Самостоятельная работа
Автоматизируйте сохранение двух режимов конденсатора через ei_saveas, ei_analyze, ei_loadsolution и eo_getconductorproperties; сверьте сигнатуры со справочником. Сопоставьте исходный и изменённый режимы, сохраните исходные файлы, результаты и объяснение различия.
Критерий выполнения: Журнал содержит фактический V, Q, C, энергию и имя рабочего файла; аналитический self-check ниже проходит; нативное выполнение отмечается только по фактическому запуску.