FEMM 5

Гармоническое магнитное поле · Осесимметричная

Индукционный нагрев трубы с зоной изменённой проводимости

Неоднородная проводимость детали изменяет распределение вихревых токов и тепловыделения при индукционном нагреве. Кольцевая зона трубы служит удобным осесимметричным примером: её можно менять независимо от геометрии катушки и основного металла. Работа сравнивает однородную трубу с участком пониженной проводимости и рассчитывает мощность каждой области отдельно.

Труба имеет радиусы 35 и 40 мм и длину 80 мм. Полоса |z|≤4 мм выделена в самостоятельную область. Проводимость основного металла 6 МСм/м; полосы — 6 или 1.2 МСм/м. Катушка радиусом 48 мм, сечением 4×20 мм и числом витков 50 несёт ток амплитудой 5 А на частоте 5 кГц.

Самостоятельная учебная модель FEMM 5: от физических соотношений к полевому решению и проверке результата.

Допущения и устройство учебной модели

Все размеры, свойства материалов и условия возбуждения заданы ниже. Численные результаты относятся к опубликованной версии модели FEMM 5.

Физическая и математическая постановка

Сопротивление и наведённый ток меняются вместе

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

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

P_{\mathrm{труба}}=P_{\mathrm{основной\ металл}}+P_{\mathrm{кольцевая\ зона}},\qquad \overline q_{\mathrm{зона}}=P_{\mathrm{зона}}/V_{\mathrm{зона}}

От распределения мощности к тепловой задаче

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

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

Одна геометрическая область — одна метка

В актуальной версии 2 воздух разделён вспомогательной полуокружностью радиусом 100 мм. По обе стороны назначен один и тот же материал; физического граничного условия на этой дуге нет. Линия задаёт две области сетки с одной меткой в каждой и не служит магнитным экраном.

Для обеих проводимостей выполнены три сетки и отдельный контроль удаления внешней границы с 600 до 800 мм. Проверены наличие элементов и объём всех шести областей, баланс мощности и независимый интеграл |J|²/(2σ). Кривую сравнения проводимостей строят по третьей сетке при радиусе 600 мм; контрольные решения 800 мм остаются в таблице.

Исходные данные

Осесимметричная

Величины, единицы и происхождение параметров
ПараметрЗначениеЕдиницаПроисхождение
Радиусы трубы35; 40ммЗаданный параметр самостоятельной учебной модели
Длина трубы80ммЗаданный параметр самостоятельной учебной модели
Ширина кольцевой зоны8ммЗаданный параметр самостоятельной учебной модели
Проводимость зоны6; 1.2МСм/мЗаданный параметр самостоятельной учебной модели
Частота5000ГцЗаданный параметр самостоятельной учебной модели
Число витков50Заданный параметр самостоятельной учебной модели
Амплитуда тока5АЗаданный параметр самостоятельной учебной модели
Радиус вспомогательной воздушной сетки100ммВерсия 2: одинаковый воздух по обе стороны, без физического граничного условия
Радиус внешней границы и контроль600; 800ммОсновная серия и отдельная проверка влияния границы
Размер элементов металла на трёх сетках0,5; 0,25; 0,125ммЯвные размеры сетки, интеллектуальное изменение сетки отключено

Порядок воспроизведения

  1. До запуска запишите уравнение контрольной величины и ожидаемое направление изменения при вариации параметра. Согласуйте миллиметры геометрии с единицами СИ в формулах. Создайте отдельную папку и откройте reproduce.py во встроенном редакторе Python FEMM 5. Команды mi_* и mo_* в этой среде уже доступны глобально.
  2. Выполните программу целиком. Она создаёт новый calculated-NN, строит каждую модель с русскими именами материалов и цепей, сохраняет файл FEM, закрывает его и повторно открывает перед решением. Поэтому проверка относится к точному записанному варианту модели и охватывает сохранение кириллицы.
  3. Изучите result.json: records хранит численные результаты всех режимов и трёх сеток, checks — названия проверок, измеренные отклонения, допуски и итог. Откройте модель и решение финальной сетки; сопоставьте материалы, направление токов и характерные размеры с таблицей параметров.
  4. Составьте отчёт с физическим объяснением, таблицей сходимости и независимым контрольным расчётом. Затем измените один параметр и выполните новую серию. Сохраняйте предыдущую серию для сравнения; успешное завершение решателя само по себе не заменяет проверки физического масштаба и сеточной устойчивости.

Скачайте нужные файлы по отдельным ссылкам ниже в одну рабочую папку, затем откройте reproduce.py во встроенном Python FEMM 5 и выполните его. Сохраните имена файлов и структуру подпапок. Условия конкретного запуска и путь новых результатов указаны в комментариях программы.

Программа встроенного Python FEMM 5
Python · reproduce.py
"""FEMM 5: учебная модель, встроенный Python.
Команды mi_* и mo_* доступны непосредственно в FEMM; внешний пакет не нужен.
Повторный запуск создаёт отдельный calculated-NN и сохраняет предыдущие серии.
Геометрия в мм, токи и поля — комплексные амплитуды, результаты в СИ.
"""
import os
import sys
import math
import json

CONFIG = {'frequency_Hz': 5000, 'current_amplitude_A': 5,
          'turns': 50, 'conductivity_ratios': [1, 0.2],
          'outer_radius_mm': 600, 'check_outer_radius_mm': 800,
          'air_partition_radius_mm': 100}
OLD_FINAL = {
    '1': {'joint_loss_W': 2.4517742436608043, 'ohmic_loss_W': 6.875268455720551,
          'energy_J': 0.001215490293674114},
    '0.2': {'joint_loss_W': 1.4099030694851518, 'ohmic_loss_W': 8.103984233431396,
            'energy_J': 0.0012502526975481966}}
saved = globals().get('__file__', '') or (sys.argv[0] if sys.argv else '')
base = os.path.dirname(os.path.abspath(saved)) if saved else os.getcwd()
index = 1
while os.path.exists(base + '/calculated-%02d' % index):
    index += 1
directory = base + '/calculated-%02d' % index
os.mkdir(directory)
records = []
checks = []


def real(value):
    if isinstance(value, (list, tuple)):
        value = value[0]
    return complex(value).real


def check(name, value, limit):
    checks.append({'name': name, 'value': value, 'limit': limit,
                   'passed': math.isfinite(value) and value <= limit})


def material(name, conductivity=0):
    mi_addmaterial(name, 1, 1, 0, 0, conductivity / 1e6)


def label(r, z, name, mesh, group, circuit='<None>', turns=1):
    mi_addblocklabel(r, z)
    mi_selectlabel(r, z)
    mi_setblockprop(name, 0, mesh, circuit, 0, group, turns)
    mi_clearselected()


def rectangle(r1, z1, r2, z2):
    points = [(r1, z1), (r2, z1), (r2, z2), (r1, z2)]
    for r, z in points:
        mi_addnode(r, z)
    for i, point in enumerate(points):
        other = points[(i + 1) % 4]
        mi_addsegment(point[0], point[1], other[0], other[1])


def halfcircle(radius, angle, boundary=None):
    mi_addnode(0, -radius)
    mi_addnode(0, radius)
    mi_addarc(0, -radius, 0, radius, 180, angle)
    if boundary is not None:
        mi_selectarcsegment(radius, 0)
        mi_setarcsegmentprop(angle, boundary, 0, 0)
        mi_clearselected()


def solve(ratio, level, outer, boundary_check=False):
    scale = 2 ** level
    newdocument(0)
    mi_probdef(CONFIG['frequency_Hz'], 'millimeters', 'axi', 1e-10, 1000, 30, 0)
    mi_smartmesh(0)
    material('Воздух')
    material('Медь идеальной обмотки')
    material('Основной металл трубы', 6e6)
    material('Кольцевая зона трубы', 6e6 * ratio)
    mi_addboundprop('Удалённая внешняя граница', 0, 0, 0, 0, 0, 0, 0, 0, 0)
    halfcircle(outer, 4 / scale, 'Удалённая внешняя граница')
    mi_addsegment(0, -outer, 0, outer)
    # Только разделение сетки. На этой дуге нет граничного условия;
    # обе стороны имеют одинаковые mu_r=1 и sigma=0, поле непрерывно.
    halfcircle(CONFIG['air_partition_radius_mm'], 2 / scale)
    mi_addcircprop('Обмотка нагревателя', CONFIG['current_amplitude_A'], 1)
    rectangle(46, -10, 50, 10)
    label(48, 0, 'Медь идеальной обмотки', 1 / scale, 11,
          'Обмотка нагревателя', CONFIG['turns'])
    for lower, upper, name, group in [
            (-40, -4, 'Основной металл трубы', 5),
            (-4, 4, 'Кольцевая зона трубы', 6),
            (4, 40, 'Основной металл трубы', 7)]:
        rectangle(35, lower, 40, upper)
        label(37, (lower + upper) / 2, name, 0.5 / scale, group)
    label(0.5, 0, 'Воздух', 2 / scale, 3)
    label((outer + CONFIG['air_partition_radius_mm']) / 2, 0,
          'Воздух', 30 / scale, 1)
    suffix = '-R%d' % outer if boundary_check else ''
    name = 'model-%s-%02d%s.fem' % (str(ratio).replace('.', 'p'), level + 1, suffix)
    mi_saveas(directory + '/' + name)
    mi_close()
    opendocument(directory + '/' + name)
    mi_analyze(1)
    mi_loadsolution()
    mo_smooth('off')
    row = {'model': name, 'variant': ratio, 'level': level + 1,
           'outer_radius_mm': outer, 'boundary_check': boundary_check,
           'saved_reopened_solved': True,
           'nodes': mo_numnodes(), 'elements': mo_numelements()}
    mo_groupselectblock()
    row['ohmic_loss_W'] = real(mo_blockintegral(4))
    row['energy_J'] = real(mo_blockintegral(2))
    mo_clearblock()
    current, voltage, flux = mo_getcircuitproperties('Обмотка нагревателя')
    power = (complex(voltage) * complex(current).conjugate()).real / 2
    row['circuit_active_power_W'] = power
    row['power_balance_relative'] = abs(power / row['ohmic_loss_W'] - 1)
    check('Активная мощность цепи и потери: ' + name, row['power_balance_relative'], 0.002)

    expected_volume = {
        5: math.pi * (0.04 ** 2 - 0.035 ** 2) * 0.036,
        6: math.pi * (0.04 ** 2 - 0.035 ** 2) * 0.008,
        7: math.pi * (0.04 ** 2 - 0.035 ** 2) * 0.036,
        11: math.pi * (0.05 ** 2 - 0.046 ** 2) * 0.020}
    # Правая полуокружность в (r,z), вращаемая вокруг r=0, даёт целую сферу.
    expected_volume[3] = 4 * math.pi * 0.1 ** 3 / 3 - sum(expected_volume.values())
    expected_volume[1] = 4 * math.pi * ((outer * 0.001) ** 3 - 0.1 ** 3) / 3
    groups = [1, 3, 5, 6, 7, 11]
    counts = {str(group): 0 for group in groups}
    volumes = {str(group): 0 for group in groups}
    joule = 0
    # Независимое интегрирование по геометрии треугольников и J_phi.
    # mo_getpointvalues возвращает J в МА/м²; в СИ умножаем на 1e6.
    for element in range(1, int(mo_numelements()) + 1):
        values = mo_getelement(element)
        group = int(values[6])
        key = str(group)
        assert key in counts, 'Неожиданная группа элемента'
        counts[key] += 1
        r, z, area = values[3], values[4], values[5]
        volume = area * 1e-6 * 2 * math.pi * r * 0.001
        volumes[key] += volume
        if group in (5, 6, 7):
            point = mo_getpointvalues(r, z)
            density = (complex(point[7]) + complex(point[8])) * 1e6
            sigma = 6e6 * (ratio if group == 6 else 1)
            joule += abs(density) ** 2 * volume / (2 * sigma)
    row['element_counts_by_group'] = counts
    row['volumes_m3_by_group'] = volumes
    for group in groups:
        check('Использование каждой метки, группа%d: ' % group + name,
              0 if counts[str(group)] > 0 else 1, 0)
        error = abs(volumes[str(group)] / expected_volume[group] - 1)
        check('Объём области, группа%d: ' % group + name, error,
              0.003 / scale ** 2 if group in (1, 3) else 1e-8)
    row['element_Joule_integral_W'] = joule
    check('Независимый интеграл |J|²/(2σ): ' + name,
          abs(joule / row['ohmic_loss_W'] - 1), 0.02)
    losses = {}
    for group in (5, 6, 7):
        mo_groupselectblock(group)
        losses[str(group)] = real(mo_blockintegral(4))
        mo_clearblock()
    row['bulk_loss_W'] = losses['5'] + losses['7']
    row['joint_loss_W'] = losses['6']
    row['joint_loss_density_W_m3'] = losses['6'] / expected_volume[6]
    row['primary'] = losses['6']
    check('Сложение потерь трёх зон: ' + name,
          abs(sum(losses.values()) / row['ohmic_loss_W'] - 1), 1e-8)
    mo_close()
    mi_close()
    records.append(row)
    return row


for ratio in CONFIG['conductivity_ratios']:
    series = [solve(ratio, level, CONFIG['outer_radius_mm']) for level in range(3)]
    for key in ('joint_loss_W', 'ohmic_loss_W', 'energy_J'):
        check('Сходимость последних двух сеток, σз/σ=%s, %s' % (ratio, key),
              abs(series[2][key] / series[1][key] - 1), 0.012)
    control = solve(ratio, 2, CONFIG['check_outer_radius_mm'], True)
    for key in ('joint_loss_W', 'ohmic_loss_W', 'energy_J'):
        check('Удаление внешней границы600→800мм, σз/σ=%s, %s' % (ratio, key),
              abs(control[key] / series[2][key] - 1), 0.005)
    series[2]['correction_delta_relative_vs_v1'] = {
        key: series[2][key] / OLD_FINAL[str(ratio)] [key] - 1
        for key in ('joint_loss_W', 'ohmic_loss_W', 'energy_J')}

result = {'runtime': 'FEMM 5; embedded MicroPython',
          'case_id': 'pipe-joint-heating', 'model_version': 2,
          'records': records, 'checks': checks,
          'passed': all(item['passed'] for item in checks),
          'scope': 'Самостоятельная осесимметричная электромагнитная модель; вычисляется источник тепла, температура не рассчитывается.',
          'correction': 'R100мм разделяет только воздушную сетку. По одной метке в каждой области; физические материалы и граничное условие не изменены.'}
with open(directory + '/result.json', 'w') as stream:
    json.dump(result, stream)
print(json.dumps({'case_id': result['case_id'], 'model_version': 2,
                  'passed': result['passed'], 'models': len(records),
                  'checks': len(checks),
                  'failed': [item for item in checks if not item['passed']]}))
assert result['passed'], 'Численные проверки не пройдены; изучите result.json'

Картина рассчитанного поля

Линии магнитного потока: model-0p2-03.ans
Визуализация сохранённого решения FEMM 5 model-0p2-03.ans. Осесимметричная потоковая функция ψ=2πrAφ; интерполяция FEMM 5. Показана действительная компонента фазора при фазе 0; это не модуль индукции. Показан увеличенный фрагмент расчётной области. Контуры деталей взяты из той же модели. Области вне сохранённых треугольников не заполняются. Это научный график сохранённых данных. Нажмите на карту, чтобы открыть её отдельно и увеличить.

Окна FEMM 5

Снимки интерфейса FEMM показывают геометрию, настройки и работу с результатами в FEMM 5. Откройте изображение, чтобы рассмотреть подписи и значения в полном размере.

Индукционный нагрев трубного стыка, версия 2: труба, катушка и вспомогательная воздушная дуга R100 мм для раздельного задания сетки. На дуге нет физического граничного условия; внешняя граница R600 мм за кадром. Подписи скрыты.
Индукционный нагрев трубного стыка, версия 2: труба, катушка и вспомогательная воздушная дуга R100 мм для раздельного задания сетки. На дуге нет физического граничного условия; внешняя граница R600 мм за кадром. Подписи скрыты. Открыть в полном размере

Результаты и численные проверки

Сохранено решений FEMM: 8. Выполнено проверок: 132. Полная точность чисел и условия сравнения доступны в таблицах результатов JSON.

Результаты расчётов и производные итоги
Файл моделиСохранение, открытие и решениеАктивная мощность цепей, ВтЧисло элементовКонтроль внешней границыНезависимый интеграл Джоуля, ВтУровень сеткиСредняя джоулева мощность, ВтОтносительная ошибка баланса мощностиПотери основного металла, ВтПлотность потерь кольцевой зоны, Вт/м³Объёмы по группам, м³Энергия поля, ДжПотери кольцевой зоны, ВтПроводимость зоны относительно основного металлаОсновной численный результатЭлементы по группамВнешний радиус, ммЧисло узловОтносительное изменение после исправления
model-1-01.femДа6,905427116623Нет6,908175316,90581856,599548 × 10⁻⁶4,4323621262441,826 полей; полные данные JSON0,00121516272,473455912,47345596 полей; полные данные JSON6008422—
model-1-02.femДа6,908060961263Нет6,908734626,908159414,25469 × 10⁻⁶4,4319213262737,036 полей; полные данные JSON0,00122204372,476238112,47623816 полей; полные данные JSON60030840—
model-1-03.femДа6,9086853236328Нет6,908854336,90871053,6414797 × 10⁻⁶4,4319174262795,916 полей; полные данные JSON0,00122396142,476793112,47679316 полей; полные данные JSON6001185593 полей; полные данные JSON
model-1-03-R800.femДа6,9098179254056Да6,909987636,90984323,6640546 × 10⁻⁶4,432896262812,276 полей; полные данные JSON0,00122401852,476947312,47694736 полей; полные данные JSON800127512—
model-0p2-01.femДа8,151150716623Нет8,153604718,151631759,00435 × 10⁻⁶6,7296403150877,976 полей; полные данные JSON0,00125011251,42199140,21,42199146 полей; полные данные JSON6008422—
model-0p2-02.femДа8,15616461263Нет8,156769528,156285314,869639 × 10⁻⁶6,7268136151671,666 полей; полные данные JSON0,00125714121,42947170,21,42947176 полей; полные данные JSON60030840—
model-0p2-03.femДа8,1576991236328Нет8,157853438,15773013,7970198 × 10⁻⁶6,7254861151965,816 полей; полные данные JSON0,00125910891,4322440,21,4322446 полей; полные данные JSON6001185593 полей; полные данные JSON
model-0p2-03-R800.femДа8,158987254056Да8,159141538,15901823,8228899 × 10⁻⁶6,7266512151978,866 полей; полные данные JSON0,00125916761,4323670,21,4323676 полей; полные данные JSON800127512—
Проверки опубликованного расчёта
КритерийПолученоДопуск или ожидаемое значениеИтог
Активная мощность цепи и потери: model-1-01.fem56,6 × 10⁻⁶0,002Выполнен
Использование каждой метки, группа1: model-1-01.fem00Выполнен
Объём области, группа1: model-1-01.fem0,0012220,003Выполнен
Использование каждой метки, группа3: model-1-01.fem00Выполнен
Объём области, группа3: model-1-01.fem313,4 × 10⁻⁶0,003Выполнен
Использование каждой метки, группа5: model-1-01.fem00Выполнен
Объём области, группа5: model-1-01.fem1,998 × 10⁻¹⁵1e-08Выполнен
Использование каждой метки, группа6: model-1-01.fem00Выполнен
Объём области, группа6: model-1-01.fem888,2 × 10⁻¹⁸1e-08Выполнен
Использование каждой метки, группа7: model-1-01.fem00Выполнен
Объём области, группа7: model-1-01.fem222 × 10⁻¹⁸1e-08Выполнен
Использование каждой метки, группа11: model-1-01.fem00Выполнен
Объём области, группа11: model-1-01.fem1,776 × 10⁻¹⁵1e-08Выполнен
Независимый интеграл |J|²/(2σ): model-1-01.fem341,4 × 10⁻⁶0,02Выполнен
Сложение потерь трёх зон: model-1-01.fem666,1 × 10⁻¹⁸1e-08Выполнен
Активная мощность цепи и потери: model-1-02.fem14,25 × 10⁻⁶0,002Выполнен
Использование каждой метки, группа1: model-1-02.fem00Выполнен
Объём области, группа1: model-1-02.fem305,6 × 10⁻⁶0,00075Выполнен
Использование каждой метки, группа3: model-1-02.fem00Выполнен
Объём области, группа3: model-1-02.fem78,37 × 10⁻⁶0,00075Выполнен
Использование каждой метки, группа5: model-1-02.fem00Выполнен
Объём области, группа5: model-1-02.fem5,218 × 10⁻¹⁵1e-08Выполнен
Использование каждой метки, группа6: model-1-02.fem00Выполнен
Объём области, группа6: model-1-02.fem555,1 × 10⁻¹⁸1e-08Выполнен
Использование каждой метки, группа7: model-1-02.fem00Выполнен
Объём области, группа7: model-1-02.fem1,443 × 10⁻¹⁵1e-08Выполнен
Использование каждой метки, группа11: model-1-02.fem00Выполнен
Объём области, группа11: model-1-02.fem444,1 × 10⁻¹⁸1e-08Выполнен
Независимый интеграл |J|²/(2σ): model-1-02.fem83,26 × 10⁻⁶0,02Выполнен
Сложение потерь трёх зон: model-1-02.fem444,1 × 10⁻¹⁸1e-08Выполнен
Активная мощность цепи и потери: model-1-03.fem3,641 × 10⁻⁶0,002Выполнен
Использование каждой метки, группа1: model-1-03.fem00Выполнен
Объём области, группа1: model-1-03.fem76,42 × 10⁻⁶0,0001875Выполнен
Использование каждой метки, группа3: model-1-03.fem00Выполнен
Объём области, группа3: model-1-03.fem19,59 × 10⁻⁶0,0001875Выполнен
Использование каждой метки, группа5: model-1-03.fem00Выполнен
Объём области, группа5: model-1-03.fem5,551 × 10⁻¹⁵1e-08Выполнен
Использование каждой метки, группа6: model-1-03.fem00Выполнен
Объём области, группа6: model-1-03.fem3,442 × 10⁻¹⁵1e-08Выполнен
Использование каждой метки, группа7: model-1-03.fem00Выполнен
Объём области, группа7: model-1-03.fem5,44 × 10⁻¹⁵1e-08Выполнен
Использование каждой метки, группа11: model-1-03.fem00Выполнен
Объём области, группа11: model-1-03.fem3,331 × 10⁻¹⁵1e-08Выполнен
Независимый интеграл |J|²/(2σ): model-1-03.fem20,82 × 10⁻⁶0,02Выполнен
Сложение потерь трёх зон: model-1-03.fem4,663 × 10⁻¹⁵1e-08Выполнен
Сходимость последних двух сеток, σз/σ=1, joint_loss_W224,1 × 10⁻⁶0,012Выполнен
Сходимость последних двух сеток, σз/σ=1, ohmic_loss_W79,77 × 10⁻⁶0,012Выполнен
Сходимость последних двух сеток, σз/σ=1, energy_J0,0015690,012Выполнен
Активная мощность цепи и потери: model-1-03-R800.fem3,664 × 10⁻⁶0,002Выполнен
Использование каждой метки, группа1: model-1-03-R800.fem00Выполнен
Объём области, группа1: model-1-03-R800.fem76,26 × 10⁻⁶0,0001875Выполнен
Использование каждой метки, группа3: model-1-03-R800.fem00Выполнен
Объём области, группа3: model-1-03-R800.fem19,59 × 10⁻⁶0,0001875Выполнен
Использование каждой метки, группа5: model-1-03-R800.fem00Выполнен
Объём области, группа5: model-1-03-R800.fem7,994 × 10⁻¹⁵1e-08Выполнен
Использование каждой метки, группа6: model-1-03-R800.fem00Выполнен
Объём области, группа6: model-1-03-R800.fem2,442 × 10⁻¹⁵1e-08Выполнен
Использование каждой метки, группа7: model-1-03-R800.fem00Выполнен
Объём области, группа7: model-1-03-R800.fem888,2 × 10⁻¹⁸1e-08Выполнен
Использование каждой метки, группа11: model-1-03-R800.fem00Выполнен
Объём области, группа11: model-1-03-R800.fem1,776 × 10⁻¹⁵1e-08Выполнен
Независимый интеграл |J|²/(2σ): model-1-03-R800.fem20,89 × 10⁻⁶0,02Выполнен
Сложение потерь трёх зон: model-1-03-R800.fem222 × 10⁻¹⁸1e-08Выполнен
Удаление внешней границы600→800мм, σз/σ=1, joint_loss_W62,26 × 10⁻⁶0,005Выполнен
Удаление внешней границы600→800мм, σз/σ=1, ohmic_loss_W164 × 10⁻⁶0,005Выполнен
Удаление внешней границы600→800мм, σз/σ=1, energy_J46,67 × 10⁻⁶0,005Выполнен
Активная мощность цепи и потери: model-0p2-01.fem59 × 10⁻⁶0,002Выполнен
Использование каждой метки, группа1: model-0p2-01.fem00Выполнен
Объём области, группа1: model-0p2-01.fem0,0012220,003Выполнен
Использование каждой метки, группа3: model-0p2-01.fem00Выполнен
Объём области, группа3: model-0p2-01.fem313,4 × 10⁻⁶0,003Выполнен
Использование каждой метки, группа5: model-0p2-01.fem00Выполнен
Объём области, группа5: model-0p2-01.fem1,998 × 10⁻¹⁵1e-08Выполнен
Использование каждой метки, группа6: model-0p2-01.fem00Выполнен
Объём области, группа6: model-0p2-01.fem888,2 × 10⁻¹⁸1e-08Выполнен
Использование каждой метки, группа7: model-0p2-01.fem00Выполнен
Объём области, группа7: model-0p2-01.fem222 × 10⁻¹⁸1e-08Выполнен
Использование каждой метки, группа11: model-0p2-01.fem00Выполнен
Объём области, группа11: model-0p2-01.fem1,776 × 10⁻¹⁵1e-08Выполнен
Независимый интеграл |J|²/(2σ): model-0p2-01.fem242 × 10⁻⁶0,02Выполнен
Сложение потерь трёх зон: model-0p2-01.fem1,11 × 10⁻¹⁵1e-08Выполнен
Активная мощность цепи и потери: model-0p2-02.fem14,87 × 10⁻⁶0,002Выполнен
Использование каждой метки, группа1: model-0p2-02.fem00Выполнен
Объём области, группа1: model-0p2-02.fem305,6 × 10⁻⁶0,00075Выполнен
Использование каждой метки, группа3: model-0p2-02.fem00Выполнен
Объём области, группа3: model-0p2-02.fem78,37 × 10⁻⁶0,00075Выполнен
Использование каждой метки, группа5: model-0p2-02.fem00Выполнен
Объём области, группа5: model-0p2-02.fem5,218 × 10⁻¹⁵1e-08Выполнен
Использование каждой метки, группа6: model-0p2-02.fem00Выполнен
Объём области, группа6: model-0p2-02.fem555,1 × 10⁻¹⁸1e-08Выполнен
Использование каждой метки, группа7: model-0p2-02.fem00Выполнен
Объём области, группа7: model-0p2-02.fem1,443 × 10⁻¹⁵1e-08Выполнен
Использование каждой метки, группа11: model-0p2-02.fem00Выполнен
Объём области, группа11: model-0p2-02.fem444,1 × 10⁻¹⁸1e-08Выполнен
Независимый интеграл |J|²/(2σ): model-0p2-02.fem59,37 × 10⁻⁶0,02Выполнен
Сложение потерь трёх зон: model-0p2-02.fem2,998 × 10⁻¹⁵1e-08Выполнен
Активная мощность цепи и потери: model-0p2-03.fem3,797 × 10⁻⁶0,002Выполнен
Использование каждой метки, группа1: model-0p2-03.fem00Выполнен
Объём области, группа1: model-0p2-03.fem76,42 × 10⁻⁶0,0001875Выполнен
Использование каждой метки, группа3: model-0p2-03.fem00Выполнен
Объём области, группа3: model-0p2-03.fem19,59 × 10⁻⁶0,0001875Выполнен
Использование каждой метки, группа5: model-0p2-03.fem00Выполнен
Объём области, группа5: model-0p2-03.fem5,551 × 10⁻¹⁵1e-08Выполнен
Использование каждой метки, группа6: model-0p2-03.fem00Выполнен
Объём области, группа6: model-0p2-03.fem3,442 × 10⁻¹⁵1e-08Выполнен
Использование каждой метки, группа7: model-0p2-03.fem00Выполнен
Объём области, группа7: model-0p2-03.fem5,44 × 10⁻¹⁵1e-08Выполнен
Использование каждой метки, группа11: model-0p2-03.fem00Выполнен
Объём области, группа11: model-0p2-03.fem3,331 × 10⁻¹⁵1e-08Выполнен
Независимый интеграл |J|²/(2σ): model-0p2-03.fem15,11 × 10⁻⁶0,02Выполнен
Сложение потерь трёх зон: model-0p2-03.fem1,998 × 10⁻¹⁵1e-08Выполнен
Сходимость последних двух сеток, σз/σ=0.2, joint_loss_W0,0019390,012Выполнен
Сходимость последних двух сеток, σз/σ=0.2, ohmic_loss_W177,1 × 10⁻⁶0,012Выполнен
Сходимость последних двух сеток, σз/σ=0.2, energy_J0,0015650,012Выполнен
Активная мощность цепи и потери: model-0p2-03-R800.fem3,823 × 10⁻⁶0,002Выполнен
Использование каждой метки, группа1: model-0p2-03-R800.fem00Выполнен
Объём области, группа1: model-0p2-03-R800.fem76,26 × 10⁻⁶0,0001875Выполнен
Использование каждой метки, группа3: model-0p2-03-R800.fem00Выполнен
Объём области, группа3: model-0p2-03-R800.fem19,59 × 10⁻⁶0,0001875Выполнен
Использование каждой метки, группа5: model-0p2-03-R800.fem00Выполнен
Объём области, группа5: model-0p2-03-R800.fem7,994 × 10⁻¹⁵1e-08Выполнен
Использование каждой метки, группа6: model-0p2-03-R800.fem00Выполнен
Объём области, группа6: model-0p2-03-R800.fem2,442 × 10⁻¹⁵1e-08Выполнен
Использование каждой метки, группа7: model-0p2-03-R800.fem00Выполнен
Объём области, группа7: model-0p2-03-R800.fem888,2 × 10⁻¹⁸1e-08Выполнен
Использование каждой метки, группа11: model-0p2-03-R800.fem00Выполнен
Объём области, группа11: model-0p2-03-R800.fem1,776 × 10⁻¹⁵1e-08Выполнен
Независимый интеграл |J|²/(2σ): model-0p2-03-R800.fem15,12 × 10⁻⁶0,02Выполнен
Сложение потерь трёх зон: model-0p2-03-R800.fem30,75 × 10⁻¹⁵1e-08Выполнен
Удаление внешней границы600→800мм, σз/σ=0.2, joint_loss_W85,84 × 10⁻⁶0,005Выполнен
Удаление внешней границы600→800мм, σз/σ=0.2, ohmic_loss_W157,9 × 10⁻⁶0,005Выполнен
Удаление внешней границы600→800мм, σз/σ=0.2, energy_J46,56 × 10⁻⁶0,005Выполнен

Допуски относятся к указанной учебной задаче и способу сравнения. Число показанных цифр не означает такой же физической точности.

Модели, решения и программа

Для нового расчёта сохраните программу, модели и необходимые данные в одну рабочую папку, сохраняя структуру подпапок.

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

Границы применимости