FEMM 5Поиск
ФормулыФайлы

Часть V · Электрические машины → § 38 · ТВВ-320-2. Построение модели

Занятие 38.6

Сборка полного сечения и проверка сохранённого FEM

Перед началом

Что нужно вспомнить перед началом

Место занятия в инженерной методике

Подготовительный этап методики · Восстановление электрических характеристик синхронного генератора

Последовательность решения, отчёт и критерии результата

От геометрии и обмоток переходят к потокосцеплениям и ЭДС, затем к характеристикам ХХ, КЗ, нагрузки и регулирования. Эти характеристики определяют требуемое возбуждение и допустимый электрический режим.

Результат этого этапа — проверенная постановка или воспроизводимая процедура перед серией расчётов.

Последовательность решения

  1. Обосновать постановку и способ измерения. Для характеристики запишите, что фиксировано: скорость, возбуждение, напряжение, нагрузка или мощность. Скоростная ЭДС восстанавливается из пространственного потокосцепления.

  2. Сборка полного сечения и проверка сохранённого FEM. Выполните действия практикума по его исходной таблице. Методика и учебные файлы доступны. Проверки относятся к указанным в занятии примерам и версиям; заводская точность и завершённость всего численного цикла не заявляются.

  3. Ответить на вопрос по своим результатам. Сопоставьте контрольные величины, входы, версии и допуски.

Что включить в отчёт

Оформление наблюдений. Возбуждение, скорость, фазные потокосцепления, ЭДС и согласованные токи/напряжения в объёме конкретного опыта; независимые условия каждой строки.

Как обосновать результат

Точность и расхождения. Критерий этого этапа — соответствие исходным данным, топологии, назначениям и процедуре повторного открытия. Численный допуск поля здесь не назначают: поле ещё не является защищаемым результатом. Расхождения размеров и параметров фиксируйте с единицами и происхождением.

Вывод для устройства

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

Границы вывода. Каждая характеристика требует своих независимых условий и скорости. Двумерный срез, заданные токи и статическое поле не подтверждают автоматически режим на сеть, устойчивость и полную мощность реального генератора.

Теория и вывод формул

Как установить, что все пазы, цепи и области пережили сохранение и повторное открытие?

Обозначения и единицы

Нормировки, общие обозначения и единицы курса. Обозначения конкретной задачи приведены рядом с формулами.

Указатель формул этого занятия
  1. (38.39) · Параметры задачи, цепей и границы
  2. (38.40) · Параметры задачи, цепей и границы
  3. (38.41) · Параметры задачи, цепей и границы
  4. (38.42) · Параметры задачи, цепей и границы

Модель и обозначения

Занятие 10 из 36 в цикле ТВВ-320-2.

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

Общие обозначения цикла ТВВ-320
Таблица 38.16. Обозначения и единицы
ВеличинаФизический смыслЕдиница СИ
θm; θeМеханический и электрический углы; \theta e=p\theta mрад
pЧисло пар полюсов; для ТВВ-320-2 p=11
ULL; IЛинейное напряжение и фазный ток RMS основной симметричной составляющейВ; А
id; iq; IfАмплитудные токи d–q и постоянный ток возбужденияА
λd; λq; λfПотокосцепления в согласованной нормировкеВб·виток
Pg; Qg; TОтдаваемые активная и реактивная мощности; момент против часовой стрелкиВт; вар; Н·м

От шаблонов к единой области

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

Отдельные метки нужны внутри каждого замкнутого прямоугольника проводника. Всего создаётся 365 меток: 360 активных сторон плюс отверстие, роторная сталь, статорная сталь, зазор с пазами и внешняя область. У разных ролей должны быть устойчивые номера групп и понятные русские имена; номера групп являются служебными идентификаторами FEMM.

Группа 11 содержит только активные стороны ротора; группы 101…106 — шесть ветвей статора; 10 — геометрию ротора и его непроводящие/стальные области, 20 — статор. При будущих поворотах выбор только группы 10 не повернёт обмотку группы 11. В текущем построителе каждый угол строится заново из параметров, что исключает накопление ошибок последовательных поворотов.

Параметры задачи, цепей и границы

build.py задаёт магнитостатику, миллиметры, плоскую задачу, глубину 6000 мм и численную точность 10⁻⁸. Ток возбуждения передаётся одной последовательной цепи F, фазные токи делятся на две ветви. В нулевой проверке все токи равны нулю.

Во внешнем круге радиус равен 2\times 1295=2590 мм, A=0. Число 2 — начальная численная настройка, а не размер корпуса. Правомерность этой границы для ненулевого поля требует удаления границы и сравнения интегральных результатов. Нулевой опыт этого не проверяет.

Воздух и области заданного тока имеют \mu _{r}=1. Проводимость областей тока оставлена нулевой: в этой магнитостатической постановке требуются ампер-витки, а не потери в условном сплошном прямоугольнике. Статорная B(H) пока изотропно использует продольную таблицу; это ограничение должно сопровождать каждый сохранённый файл.

  1. Проверка числа меток обнаруживает пропущенную сторону, но сама по себе не доказывает правильность расположения.

    N_{\mathrm{labels}}=108+252+5=365
    (38.39)
  2. Площадь одной ветви статора сопоставляем с интегралом по группе; шесть групп проверяются независимо.

    S_{\mathrm{branch}}=18(18{,}6)(84{,}2)=28190{,}16\ \mathrm{mm}^2
    (38.40)
  3. Это площадь эквивалентных активных областей ротора в поперечном сечении.

    S_f=252(28)(14)=98784\ \mathrm{mm}^2
    (38.41)
  4. Для данной задачи нет постоянных магнитов и ненулевых граничных источников. Нулевой результат проверяет отсутствие случайно оставленных возбуждений, но не насыщение.

    i_A=i_B=i_C=I_f=0\ \Longrightarrow\ A=0,\ \boldsymbol B=0,\ W=0
    (38.42)

Квитанция относится к точной версии

run_geometry.py создаёт очередной geometry-NNNNN, записывает SHA-256 входов и программ, сохраняет модель, закрывает её и повторно открывает именно файл. После расчёта фиксируются площади, параметры цепей, энергия и хеши FEM/ANS. Изменение программы после расчёта требует новой квитанции, даже если имя модели осталось прежним.

Для локальных примеров занятий 5–9 дополнительно сохраняется snapshot с копиями входов и программ. Повторный запуск не заменяет прежний каталог. Файл examples/checked-02/manifest.json относится только к выбранным собственным учебным примерам; исходных библиотечных FEM/ANS в нём нет.

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

Ограничения и происхождение методики

Сохранение, повторное открытие и нулевая топология проверены. Четыре ненулевых состояния рассматриваются в занятии 11, численная сходимость — в занятиях 12–14, отдельная проверка статических сил всех четырёх состояний — в занятии 28.

independent mathematical checks; no claim of factory validation

Реестр формул и библиография в файлах занятия отделяют собственные выводы от доступных первоисточников. Недоступные тексты и текстовое распознавание PDF не объявлены полной визуальной проверкой.

Разобранный численный пример

Разбор учебного результата

Дано. ТВВ-320-2; документированные входы и точные версии программ из файлов занятия.

  1. Проверьте названия A_{1} — ветвь статора … F — возбуждение ротора и русские названия материалов после повторного открытия FEM.

Ответ: Полная нулевая модель с кириллицей и семью независимыми интегралами площади проводников.

Проверка: Сохранение, повторное открытие и нулевая топология проверены. Четыре ненулевых состояния рассматриваются в занятии 11, численная сходимость — в занятиях 12–14, отдельная проверка статических сил всех четырёх состояний — в занятии 28.

Практикум в FEMM 5

Сборка полного сечения и проверка сохранённого FEM

Таблица 38.17. Исходные данные практикума
Исходная величинаЗначениеЕдиница
Всего активных сторон360сторона
Всего меток365метка
Элементов в проверенной нулевой сборке516221элемент
Максимальное относительное расхождение площадей проводников36,97 × 10⁻¹⁵1
  1. Задайте TVV_ROOT и выполните run_geometry.py. Откройте receipt.json нового каталога, проверьте passed_zero_current_roundtrip.
  2. В geometry.py найдите emit_geometry. Для дуги метка выбора находится на середине самой дуги, а не на середине хорды; иначе mi_selectarcsegment может выбрать другой объект.
  3. Проверьте названия A_{1} — ветвь статора … F — возбуждение ротора и русские названия материалов после повторного открытия FEM.
  4. В постпроцессоре выбирайте группы по одной, считайте mo_blockintegral(5), очищайте выделение между группами. Иначе площадь следующей группы накопит предыдущую.
  5. Сравните семь площадей с формулами, затем mo_blockintegral(2) по всей модели с нулём. Не принимайте успешное завершение mi_analyze за проверку назначения всех материалов.

Ожидаемый результат. Полная нулевая модель с кириллицей и семью независимыми интегралами площади проводников.

Как проверить. Сохранение, повторное открытие и нулевая топология проверены. Четыре ненулевых состояния рассматриваются в занятии 11, численная сходимость — в занятиях 12–14, отдельная проверка статических сил всех четырёх состояний — в занятии 28.

Оценка результата

Как установить, что все пазы, цепи и области пережили сохранение и повторное открытие?

  1. Сопоставьте контрольные величины, входы, версии и допуски.

Полная программа: run_geometry.py

Встроенный Python FEMM 5. Зависимости, входы и точные снимки программ доступны в файлах занятия.

Python · FEMM 5
"""Откройте во встроенном Python FEMM 5 после задания ROOT.

Нулевой ток проверяет построение, материалы, кириллицу и повторное открытие.
Это не проверка рабочих характеристик. Исходные файлы не изменяются.
"""
import os, sys, json

ROOT = globals().get('TVV_ROOT', '')
if not ROOT:
    raise ValueError('Задайте TVV_ROOT — абсолютный путь к каталогу учебного комплекта')
if ROOT not in sys.path:sys.path.insert(0,ROOT)
from build import build


def load(name):
    with open(ROOT+'/'+name+'.json') as file:return json.loads(file.read())


def new_run():
    parent=globals().get('TVV_OUTPUT_ROOT',ROOT+'/runs')
    if not os.path.exists(parent):os.mkdir(parent)
    for n in range(1,100000):
        folder=parent+'/geometry-%05d'%n
        if not os.path.exists(folder):
            os.mkdir(folder)
            return folder
    raise ValueError('Не удалось создать новый каталог')


folder=new_run()
machine=load('machine');winding=load('winding')['rows']
materials={tag:load(tag+'-bh') for tag in ('rotor','stator')}
model=folder+'/ТВВ-320 — проверка построения.fem'
record={'status':'running','purpose':'zero-current topology and Cyrillic roundtrip only','inputs':{},'programs':{}}
try:
    import hashlib, binascii
    for name in ('machine.json','winding.json','rotor-bh.json','stator-bh.json'):
        record['inputs'][name]=binascii.hexlify(hashlib.sha256(open(ROOT+'/'+name,'rb').read()).digest()).decode()
    for name in ('geometry.py','physics.py','build.py','run_geometry.py'):
        record['programs'][name]=binascii.hexlify(hashlib.sha256(open(ROOT+'/'+name,'rb').read()).digest()).decode()
    record['geometry']=build(globals(),machine,winding,materials,model)
    mi_close()
    opendocument(model)
    mi_analyze(1);mi_loadsolution()
    record['nodes']=mo_numnodes();record['elements']=mo_numelements()
    record['areas_mm2']={}
    for group in (11,101,102,103,104,105,106):
        mo_groupselectblock(group)
        area=mo_blockintegral(5)*1e6
        mo_clearblock()
        expected=(252*machine['rotor']['conductor_width_mm']*machine['rotor']['conductor_height_mm'] if group==11
                  else 18*machine['stator']['conductor_width_mm']*machine['stator']['conductor_height_mm'])
        record['areas_mm2'][str(group)]={'native':area,'independent_rectangles':expected}
        if abs(area-expected)>expected*1e-8:raise ValueError('Площадь проводников не совпадает: группа '+str(group))
    record['circuits']={}
    for name in ['A1 — ветвь статора','A2 — ветвь статора','B1 — ветвь статора','B2 — ветвь статора','C1 — ветвь статора','C2 — ветвь статора','F — возбуждение ротора']:
        record['circuits'][name]=mo_getcircuitproperties(name)
    mo_groupselectblock();record['energy_J']=mo_blockintegral(2);mo_clearblock()
    if abs(record['energy_J'])>1e-12:raise ValueError('Ненулевая энергия при нулевых токах')
    record['status']='passed_zero_current_roundtrip'
    mo_close();mi_close()
    record['outputs']={}
    for suffix in ('.fem','.ans'):
        path=model[:-4]+suffix
        record['outputs'][path.rsplit('/',1)[-1]]=binascii.hexlify(hashlib.sha256(open(path,'rb').read()).digest()).decode()
except Exception as error:
    record['status']='failed';record['error']=str(error)
    raise
finally:
    with open(folder+'/receipt.json','w') as file:file.write(json.dumps(record))
print('TVV_GEOMETRY_RESULT',folder,record['status'])

Самостоятельная работа

Составьте таблицу «роль → русское имя → группа → ожидаемое число меток → независимая площадь». Для каждой проверки укажите ошибку, которую она способна обнаружить, и ошибку, которую она не обнаруживает.

Критерий выполнения: Соблюдены определения, единицы, условия и критерии занятия. Сохранение, повторное открытие и нулевая топология проверены. Четыре ненулевых состояния рассматриваются в занятии 11, численная сходимость — в занятиях 12–14, отдельная проверка статических сил всех четырёх состояний — в занятии 28.

Литература

Полные библиографические описания

Пояснения и типичные ошибки
Какие ограничения необходимо сохранить в выводе?

Сохранение, повторное открытие и нулевая топология проверены. Четыре ненулевых состояния рассматриваются в занятии 11, численная сходимость — в занятиях 12–14, отдельная проверка статических сил всех четырёх состояний — в занятии 28.

На что обратить внимание

  • Не очистить выделение блоков между интегралами: ошибка площади возрастает от группы к группе.
  • Выбирать дугу по середине хорды: на узком пазе выделится соседняя геометрия.
  • Считать нулевое решение проверкой рабочих режимов, границы или сеточной сходимости: нулевое поле от этих факторов почти ничего не требует.
НИУ «МЭИ» · Кафедра ЭМЭЭА · Учебное пособие по FEMM 5 · Теория, вычислительный эксперимент и проверка результата.

Файлы занятия

Статус, проверки и источники

Поиск по пособию

    Разделы

    На этой странице