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

Часть VII · Электрические машины → § 46 · ТВВ-320-2. Проектное исследование и итоговая работа

Занятие 46.1

Проектное исследование и чувствительность

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

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

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

Расчётная лабораторная работа · Восстановление электрических характеристик синхронного генератора

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

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

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

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

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

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

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

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

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

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

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

Точность и расхождения. Уточняйте шаг возбуждения или угла отдельно от сетки. При КЗ оценивайте абсолютное остаточное напряжение и его отношение к ненулевому масштабу режима.

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

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

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

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

Как отделить численную погрешность от влияния изменённого конструктивного входа?

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

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

Указатель формул этого занятия
  1. (46.1) · Один изменяемый фактор и неизменные условия
  2. (46.2) · Один изменяемый фактор и неизменные условия
  3. (46.3) · Один изменяемый фактор и неизменные условия

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

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

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

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

Один изменяемый фактор и неизменные условия

База — токовое состояние i_d=-7000 А, i_q=12000 А, If=2920 А, \theta =90^\circ. Варианты: коэффициент заполнения ±1%, альтернативная глубина ротора 149,5 мм вместо 164,5 мм и поперечная B(H) статора вместо продольной. Это проверки чувствительности выбранной модели, а не четыре установленных исполнения ТВВ-320.

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

Сравнение при одинаковых токах показывает изменение магнитного отклика. Оно не показывает автоматически изменение КПД или мощности при одинаковом напряжении. Для такого проектного сравнения после каждого изменения требуется заново решить обратную электрическую задачу.

  1. Безразмерная чувствительность имеет смысл при ненулевой базе и указанном условии сравнения.

    \Delta Q=Q(\mathbf p+\Delta\mathbf p)-Q(\mathbf p),\quad S_{Q,p}\approx\frac{\Delta Q/Q}{\Delta p/p}
    (46.1)
  2. Центральная оценка по двум уже рассчитанным вариантам заполнения. При смене знака Q вместо логарифма нужна абсолютная шкала.

    S_{Q,k}\approx\frac{\ln|Q(k_+)|-\ln|Q(k_-)|}{\ln k_+-\ln k_-},\quad k_\pm=0{,}8366(1\pm0.01)
    (46.2)
  3. Условие интерпретируемого изменения: эффект конструкции должен быть различим на фоне численной ошибки. Оно проверяется, а не предполагается.

    \varepsilon_{num}\ll |\Delta Q|/Q_{scale}
    (46.3)

Что показывают имеющиеся числа

Наибольшие изменения проверенных интегралов: около 0,31% и 0,29% для заполнения, 3,50% для альтернативной глубины и 3,93% для ориентационной кривой статора. Эти числа относятся к одному токовому состоянию. Их нельзя переносить на всю характеристику без новых серий.

Варьирование числа пазов меняет электрический шаг, распределение фаз, коэффициенты обмотки и профиль зубцов. Такой вариант требует новой полной геометрии и повторения проверок из занятий 5–17. Непрочитанному источнику не приписывается готовый алгоритм проектного синтеза.

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

Исследовательские варианты учебной модели, без утверждения об обнаруженных заводских исполнениях.

Полная оптимизация конструкции и аттестация новых вариантов не заявляются.

Новые собственные полевые решения вариантов и сохранённые входы; исходные модели sim не использованы.

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

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

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

  1. Сопоставьте \Psi d,\Psi q,\Psi f,W,W',T с базой по field_analysis.comparison. Затем вычислите центральную чувствительность по двум значениям заполнения.

Ответ: Четыре варианта при одинаковых токах, таблица изменений и аргументированная граница вывода.

Проверка: Исследовательские варианты учебной модели, без утверждения об обнаруженных заводских исполнениях. Полная оптимизация конструкции и аттестация новых вариантов не заявляются.

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

Проектное исследование и чувствительность

Таблица 46.2. Исходные данные практикума
Исходная величинаЗначениеЕдиница
fill-minus-1pct0,003105максимальное нормированное изменение выбранных интегралов
fill-plus-1pct0,002871максимальное нормированное изменение выбранных интегралов
rotor-depth-RD0,03505максимальное нормированное изменение выбранных интегралов
stator-cross0,03933максимальное нормированное изменение выбранных интегралов
  1. Откройте Поле-План.json и найдите серию input-sensitivity. Сверьте overrides, stator_curve и неизменные токи.
  2. Запустите run_fields.py с TVV_SERIES="input-sensitivity" в чистом каталоге. При повторении точной старой версии используйте сохранённый набор исходных данных выбранного примера.
  3. Сопоставьте \Psi d,\Psi q,\Psi f,W,W',T с базой по field_analysis.comparison. Затем вычислите центральную чувствительность по двум значениям заполнения.
  4. Сформулируйте вывод только для проверенного состояния. Для оптимизации задайте целевую функцию и ограничения до расчётов; максимизация одной локальной величины не означает улучшения машины.

Ожидаемый результат. Четыре варианта при одинаковых токах, таблица изменений и аргументированная граница вывода.

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

Обработка и анализ результатов

Как отделить численную погрешность от влияния изменённого конструктивного входа?

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

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

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

Python · FEMM 5
"""Занятия 11–15: самостоятельные ненулевые решения учебной модели."""
from _russian_names import russian_name, russian_file
import sys,json,math,os
ROOT=globals().get('TVV_ROOT','')
if not ROOT:raise ValueError('Задайте TVV_ROOT')
if ROOT in sys.path:sys.path.remove(ROOT)
sys.path.insert(0,ROOT)
# Повторный запуск редактора не должен использовать старые модули другой копии.
for module in ('run_record','geometry','physics','build','field_results','material_variants'):
    sys.modules.pop(module,None)
from run_record import start,finish,save_json,sha
from build import build
from field_results import collect
from material_variants import variant
names=['run_fields.py','field_results.py','run_record.py','build.py','geometry.py','physics.py',
       'Машина.json','Обмотка.json','Ротор-bh.json','Статор-bh.json','Статор-Перекрёстный-bh.json','Поле-План.json','Модель-Границы-применимости.json','Ток-Преобразование.json','material_variants.py']
resume=globals().get('TVV_RESUME_DIR','')
selected=globals().get('TVV_CASE_ID',None);series=globals().get('TVV_SERIES','four-states')
part=globals().get('TVV_PART',0);parts=globals().get('TVV_PARTS',1)
if parts<1 or not 0<=part<parts:raise ValueError('Неверная часть серии')
if resume:
    folder=resume
    with open(russian_file(folder+'/Исходный-протокол.json')) as f:record=json.loads(f.read())
    if (record.get('selected_case'),record.get('series'),record.get('part',0),record.get('parts',1))!=(selected,series,part,parts):
        raise ValueError('Продолжение требует того же набора заданий')
    for name,digest in record['inputs_and_programs'].items():
        if sha(ROOT+'/'+name)!=digest or sha(folder+'/snapshot/'+name)!=digest:
            raise ValueError('Изменены входы или версия программы: '+name)
    if 'case_outputs' not in record:raise ValueError('В этой квитанции нет проверяемых промежуточных результатов')
else:
    folder,record=start(ROOT,globals().get('TVV_OUTPUT_ROOT',ROOT+'/runs'),'fields',names,'nonzero teaching model; no factory accuracy claim')
    record['case_outputs']={}
def load(name):
    with open(russian_file(folder+'/snapshot/'+name+'.json')) as f:return json.loads(f.read())
plan=load('field-plan');scope=load('model-scope');rows=[]
if scope['factory_accuracy_claim']:raise ValueError('Необоснованное заявление о заводской точности')
record.update(selected_case=selected,series=series,part=part,parts=parts,status='running')
save_json(folder+'/Исходный-протокол.json',record)
try:
    cases=[c for c in plan['cases'] if (c['id']==selected if selected else c.get('series')==series)]
    for index,case in enumerate(cases):
        if index%parts!=part:continue
        if case['id'] in record['case_outputs']:
            for name,digest in record['case_outputs'][case['id']].items():
                if sha(folder+'/'+name)!=digest:raise ValueError('Повреждён результат продолжения: '+name)
            with open(russian_file(folder+'/'+case['id']+'-Результат.json')) as f:rows.append(json.loads(f.read()))
            print('TVV_FIELD_REUSED',case['id']);continue
        machine=load('machine');winding=load('Обмоточная область')['rows'];mesh=plan['mesh'].copy()
        for key in mesh:mesh[key]*=case.get('mesh_scale',1.)
        mesh.update(case.get('mesh_overrides',{}))
        for section,values in case.get('overrides',{}).items():machine[section].update(values)
        materials={'rotor':load('rotor-bh'),'stator':load(case.get('stator_curve','stator')+'-bh')}
        machine['_bh_limits']={tag:[v['points'][0][0],v['points'][-1][0]] for tag,v in materials.items()}
        for tag in materials:materials[tag]['points']=variant(materials[tag]['points'],case.get('bh_mode','native'))
        path=folder+'/'+case['id']+'.fem'
        record['active_case']=case['id'];save_json(folder+'/Исходный-протокол.json',record)
        print('TVV_FIELD_BUILD',case['id'])
        build(globals(),machine,winding,materials,path,mesh,case['theta_deg'],case['currents_dqf_A'])
        mi_close();opendocument(russian_file(path));mi_analyze(1);mi_loadsolution()
        print('TVV_FIELD_SOLVED',case['id'],mo_numelements())
        row=collect(globals(),machine,winding,case['theta_deg'],case['currents_dqf_A'],folder,case['id'],case.get('coverage',True),case.get('contour_samples',1440))
        row['case']=case;row['mesh']=mesh
        limits=plan['acceptance']
        errors={name:abs(values[2]-row['independent_circuit_flux_Wb'][name])/max(abs(values[2]),limits['flux_absolute_scale_Wb']) for name,values in row['circuits'].items()}
        row['flux_identity_relative_error']=max(errors.values())
        row['energy_identity_relative_error']=abs(row['energy_J']+row['coenergy_J']-row['sum_i_lambda_J'])/max(abs(row['sum_i_lambda_J']),limits['energy_absolute_scale_J'])
        rows.append(row);save_json(folder+'/Результаты.json',rows)
        if row['max_copper_area_relative_error']>1e-8:raise ValueError('Площадь активных областей не совпадает')
        if row['flux_identity_relative_error']>limits['flux_identity_relative']:raise ValueError('Независимое потокосцепление не совпадает')
        if row['energy_identity_relative_error']>limits['energy_identity_relative']:raise ValueError('Не выполнен энергетический интеграл')
        mo_close();mi_close()
        save_json(folder+'/'+case['id']+'-Результат.json',row)
        record['case_outputs'][case['id']]={name:sha(folder+'/'+name) for name in os.listdir(folder) if name.startswith(case['id']+'.') or name.startswith(case['id']+'-')}
        save_json(folder+'/Исходный-протокол.json',record);print('TVV_FIELD_CHECKED',case['id'])
    if not rows:raise ValueError('Не найдено задание расчёта')
    record['checks']={'cases':len(rows),'factory_validation':False,'mesh_convergence':False}
    finish(folder,record,'passed_field_identities_not_convergence')
except Exception as error:
    record['error']=str(error);save_json(folder+'/Результаты.json',rows);finish(folder,record,'failed');raise
print('TVV_FIELDS_RESULT',folder,record['status'])

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

Вычислите S\Psi d,k и S\Psi q,k из двух вариантов заполнения. Сопоставьте эффекты с сеточной ошибкой и укажите, какой дополнительный обратный расчёт нужен для сравнения при одинаковых U и P.

Критерий выполнения: Соблюдены определения, единицы, условия и критерии занятия. Исследовательские варианты учебной модели, без утверждения об обнаруженных заводских исполнениях. Полная оптимизация конструкции и аттестация новых вариантов не заявляются.

Литература

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

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

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

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

  • Сравнить разные токи и назвать разность эффектом геометрии.
  • Принять исследовательский размер за найденное заводское исполнение.
  • Изменить число пазов без пересчёта обмоточной таблицы.
Связанные методы и общий порядок проверки
Формула прежней редакции: Проектное исследование и чувствительностьФормула прежней редакции: Проектное исследование и чувствительность

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

Распакуйте комплект перед запуском программы; сохраните структуру папок.

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

    Разделы

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