Гармоническое магнитное поле · Осесимметричная
Индукционный нагрев трубы с зоной изменённой проводимости
Неоднородная проводимость детали изменяет распределение вихревых токов и тепловыделения при индукционном нагреве. Кольцевая зона трубы служит удобным осесимметричным примером: её можно менять независимо от геометрии катушки и основного металла. Работа сравнивает однородную трубу с участком пониженной проводимости и рассчитывает мощность каждой области отдельно.
Труба имеет радиусы 35 и 40 мм и длину 80 мм. Полоса |z|≤4 мм выделена в самостоятельную область. Проводимость основного металла 6 МСм/м; полосы — 6 или 1.2 МСм/м. Катушка радиусом 48 мм, сечением 4×20 мм и числом витков 50 несёт ток амплитудой 5 А на частоте 5 кГц.
Самостоятельная учебная модель FEMM 5: от физических соотношений к полевому решению и проверке результата.
Допущения и устройство учебной модели
Все размеры, свойства материалов и условия возбуждения заданы ниже. Численные результаты относятся к опубликованной версии модели FEMM 5.
Физическая и математическая постановка
Сопротивление и наведённый ток меняются вместе
Нельзя оценить нагрев неоднородной зоны простым умножением её сопротивления на неизменный ток. Вихревой ток сам зависит от проводимости, поля и обратного воздействия детали на катушку. Снижение проводимости может уменьшить локальный ток настолько, что мощность зоны снизится, хотя её удельное сопротивление возросло.
В кольцевой зоне ток замыкается по окружности трубы. Модель описывает полосу с однородными свойствами по всей окружности; она не представляет локальную сварочную точку или продольную трещину. Обе части основного металла имеют одинаковые свойства и выделены в одну группу для суммарного интегрирования.
От распределения мощности к тепловой задаче
Для двух проводимостей рассчитаны три сетки. Проверяется совпадение полной мощности с активной мощностью цепи катушки, а также точное сложение потерь групп. В результатах отдельно сохранены мощность полосы и её средняя объёмная плотность.
Сравните изменение полной мощности и локальной плотности: они могут иметь разную относительную чувствительность к свойствам зоны. Затем исследуйте ширину полосы или положение катушки. Для вывода о температурной неоднородности потребуется перенести объёмные потери в тепловую задачу, задать теплопроводность и условия охлаждения. Здесь вычисляются электромагнитные источники тепла; температура, металлургические превращения и качество соединения не предсказываются.
Одна геометрическая область — одна метка
В актуальной версии 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 | мм | Явные размеры сетки, интеллектуальное изменение сетки отключено |
Порядок воспроизведения
- До запуска запишите уравнение контрольной величины и ожидаемое направление изменения при вариации параметра. Согласуйте миллиметры геометрии с единицами СИ в формулах. Создайте отдельную папку и откройте reproduce.py во встроенном редакторе Python FEMM 5. Команды mi_* и mo_* в этой среде уже доступны глобально.
- Выполните программу целиком. Она создаёт новый calculated-NN, строит каждую модель с русскими именами материалов и цепей, сохраняет файл FEM, закрывает его и повторно открывает перед решением. Поэтому проверка относится к точному записанному варианту модели и охватывает сохранение кириллицы.
- Изучите result.json: records хранит численные результаты всех режимов и трёх сеток, checks — названия проверок, измеренные отклонения, допуски и итог. Откройте модель и решение финальной сетки; сопоставьте материалы, направление токов и характерные размеры с таблицей параметров.
- Составьте отчёт с физическим объяснением, таблицей сходимости и независимым контрольным расчётом. Затем измените один параметр и выполните новую серию. Сохраняйте предыдущую серию для сравнения; успешное завершение решателя само по себе не заменяет проверки физического масштаба и сеточной устойчивости.
Скачайте нужные файлы по отдельным ссылкам ниже в одну рабочую папку, затем откройте reproduce.py во встроенном Python FEMM 5 и выполните его. Сохраните имена файлов и структуру подпапок. Условия конкретного запуска и путь новых результатов указаны в комментариях программы.
Программа встроенного Python FEMM 5
"""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'
Картина рассчитанного поля
Окна FEMM 5
Снимки интерфейса FEMM показывают геометрию, настройки и работу с результатами в FEMM 5. Откройте изображение, чтобы рассмотреть подписи и значения в полном размере.
Результаты и численные проверки
Сохранено решений FEMM: 8. Выполнено проверок: 132. Полная точность чисел и условия сравнения доступны в таблицах результатов JSON.
| Файл модели | Сохранение, открытие и решение | Активная мощность цепей, Вт | Число элементов | Контроль внешней границы | Независимый интеграл Джоуля, Вт | Уровень сетки | Средняя джоулева мощность, Вт | Относительная ошибка баланса мощности | Потери основного металла, Вт | Плотность потерь кольцевой зоны, Вт/м³ | Объёмы по группам, м³ | Энергия поля, Дж | Потери кольцевой зоны, Вт | Проводимость зоны относительно основного металла | Основной численный результат | Элементы по группам | Внешний радиус, мм | Число узлов | Относительное изменение после исправления |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| model-1-01.fem | Да | 6,9054271 | 16623 | Нет | 6,9081753 | 1 | 6,905818 | 56,599548 × 10⁻⁶ | 4,4323621 | 262441,82 | 6 полей; полные данные JSON | 0,0012151627 | 2,4734559 | 1 | 2,4734559 | 6 полей; полные данные JSON | 600 | 8422 | — |
| model-1-02.fem | Да | 6,9080609 | 61263 | Нет | 6,9087346 | 2 | 6,9081594 | 14,25469 × 10⁻⁶ | 4,4319213 | 262737,03 | 6 полей; полные данные JSON | 0,0012220437 | 2,4762381 | 1 | 2,4762381 | 6 полей; полные данные JSON | 600 | 30840 | — |
| model-1-03.fem | Да | 6,9086853 | 236328 | Нет | 6,9088543 | 3 | 6,9087105 | 3,6414797 × 10⁻⁶ | 4,4319174 | 262795,91 | 6 полей; полные данные JSON | 0,0012239614 | 2,4767931 | 1 | 2,4767931 | 6 полей; полные данные JSON | 600 | 118559 | 3 полей; полные данные JSON |
| model-1-03-R800.fem | Да | 6,9098179 | 254056 | Да | 6,9099876 | 3 | 6,9098432 | 3,6640546 × 10⁻⁶ | 4,432896 | 262812,27 | 6 полей; полные данные JSON | 0,0012240185 | 2,4769473 | 1 | 2,4769473 | 6 полей; полные данные JSON | 800 | 127512 | — |
| model-0p2-01.fem | Да | 8,1511507 | 16623 | Нет | 8,1536047 | 1 | 8,1516317 | 59,00435 × 10⁻⁶ | 6,7296403 | 150877,97 | 6 полей; полные данные JSON | 0,0012501125 | 1,4219914 | 0,2 | 1,4219914 | 6 полей; полные данные JSON | 600 | 8422 | — |
| model-0p2-02.fem | Да | 8,156164 | 61263 | Нет | 8,1567695 | 2 | 8,1562853 | 14,869639 × 10⁻⁶ | 6,7268136 | 151671,66 | 6 полей; полные данные JSON | 0,0012571412 | 1,4294717 | 0,2 | 1,4294717 | 6 полей; полные данные JSON | 600 | 30840 | — |
| model-0p2-03.fem | Да | 8,1576991 | 236328 | Нет | 8,1578534 | 3 | 8,1577301 | 3,7970198 × 10⁻⁶ | 6,7254861 | 151965,81 | 6 полей; полные данные JSON | 0,0012591089 | 1,432244 | 0,2 | 1,432244 | 6 полей; полные данные JSON | 600 | 118559 | 3 полей; полные данные JSON |
| model-0p2-03-R800.fem | Да | 8,158987 | 254056 | Да | 8,1591415 | 3 | 8,1590182 | 3,8228899 × 10⁻⁶ | 6,7266512 | 151978,86 | 6 полей; полные данные JSON | 0,0012591676 | 1,432367 | 0,2 | 1,432367 | 6 полей; полные данные JSON | 800 | 127512 | — |
| Критерий | Получено | Допуск или ожидаемое значение | Итог |
|---|---|---|---|
| Активная мощность цепи и потери: model-1-01.fem | 56,6 × 10⁻⁶ | 0,002 | Выполнен |
| Использование каждой метки, группа1: model-1-01.fem | 0 | 0 | Выполнен |
| Объём области, группа1: model-1-01.fem | 0,001222 | 0,003 | Выполнен |
| Использование каждой метки, группа3: model-1-01.fem | 0 | 0 | Выполнен |
| Объём области, группа3: model-1-01.fem | 313,4 × 10⁻⁶ | 0,003 | Выполнен |
| Использование каждой метки, группа5: model-1-01.fem | 0 | 0 | Выполнен |
| Объём области, группа5: model-1-01.fem | 1,998 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Использование каждой метки, группа6: model-1-01.fem | 0 | 0 | Выполнен |
| Объём области, группа6: model-1-01.fem | 888,2 × 10⁻¹⁸ | 1e-08 | Выполнен |
| Использование каждой метки, группа7: model-1-01.fem | 0 | 0 | Выполнен |
| Объём области, группа7: model-1-01.fem | 222 × 10⁻¹⁸ | 1e-08 | Выполнен |
| Использование каждой метки, группа11: model-1-01.fem | 0 | 0 | Выполнен |
| Объём области, группа11: model-1-01.fem | 1,776 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Независимый интеграл |J|²/(2σ): model-1-01.fem | 341,4 × 10⁻⁶ | 0,02 | Выполнен |
| Сложение потерь трёх зон: model-1-01.fem | 666,1 × 10⁻¹⁸ | 1e-08 | Выполнен |
| Активная мощность цепи и потери: model-1-02.fem | 14,25 × 10⁻⁶ | 0,002 | Выполнен |
| Использование каждой метки, группа1: model-1-02.fem | 0 | 0 | Выполнен |
| Объём области, группа1: model-1-02.fem | 305,6 × 10⁻⁶ | 0,00075 | Выполнен |
| Использование каждой метки, группа3: model-1-02.fem | 0 | 0 | Выполнен |
| Объём области, группа3: model-1-02.fem | 78,37 × 10⁻⁶ | 0,00075 | Выполнен |
| Использование каждой метки, группа5: model-1-02.fem | 0 | 0 | Выполнен |
| Объём области, группа5: model-1-02.fem | 5,218 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Использование каждой метки, группа6: model-1-02.fem | 0 | 0 | Выполнен |
| Объём области, группа6: model-1-02.fem | 555,1 × 10⁻¹⁸ | 1e-08 | Выполнен |
| Использование каждой метки, группа7: model-1-02.fem | 0 | 0 | Выполнен |
| Объём области, группа7: model-1-02.fem | 1,443 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Использование каждой метки, группа11: model-1-02.fem | 0 | 0 | Выполнен |
| Объём области, группа11: model-1-02.fem | 444,1 × 10⁻¹⁸ | 1e-08 | Выполнен |
| Независимый интеграл |J|²/(2σ): model-1-02.fem | 83,26 × 10⁻⁶ | 0,02 | Выполнен |
| Сложение потерь трёх зон: model-1-02.fem | 444,1 × 10⁻¹⁸ | 1e-08 | Выполнен |
| Активная мощность цепи и потери: model-1-03.fem | 3,641 × 10⁻⁶ | 0,002 | Выполнен |
| Использование каждой метки, группа1: model-1-03.fem | 0 | 0 | Выполнен |
| Объём области, группа1: model-1-03.fem | 76,42 × 10⁻⁶ | 0,0001875 | Выполнен |
| Использование каждой метки, группа3: model-1-03.fem | 0 | 0 | Выполнен |
| Объём области, группа3: model-1-03.fem | 19,59 × 10⁻⁶ | 0,0001875 | Выполнен |
| Использование каждой метки, группа5: model-1-03.fem | 0 | 0 | Выполнен |
| Объём области, группа5: model-1-03.fem | 5,551 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Использование каждой метки, группа6: model-1-03.fem | 0 | 0 | Выполнен |
| Объём области, группа6: model-1-03.fem | 3,442 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Использование каждой метки, группа7: model-1-03.fem | 0 | 0 | Выполнен |
| Объём области, группа7: model-1-03.fem | 5,44 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Использование каждой метки, группа11: model-1-03.fem | 0 | 0 | Выполнен |
| Объём области, группа11: model-1-03.fem | 3,331 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Независимый интеграл |J|²/(2σ): model-1-03.fem | 20,82 × 10⁻⁶ | 0,02 | Выполнен |
| Сложение потерь трёх зон: model-1-03.fem | 4,663 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Сходимость последних двух сеток, σз/σ=1, joint_loss_W | 224,1 × 10⁻⁶ | 0,012 | Выполнен |
| Сходимость последних двух сеток, σз/σ=1, ohmic_loss_W | 79,77 × 10⁻⁶ | 0,012 | Выполнен |
| Сходимость последних двух сеток, σз/σ=1, energy_J | 0,001569 | 0,012 | Выполнен |
| Активная мощность цепи и потери: model-1-03-R800.fem | 3,664 × 10⁻⁶ | 0,002 | Выполнен |
| Использование каждой метки, группа1: model-1-03-R800.fem | 0 | 0 | Выполнен |
| Объём области, группа1: model-1-03-R800.fem | 76,26 × 10⁻⁶ | 0,0001875 | Выполнен |
| Использование каждой метки, группа3: model-1-03-R800.fem | 0 | 0 | Выполнен |
| Объём области, группа3: model-1-03-R800.fem | 19,59 × 10⁻⁶ | 0,0001875 | Выполнен |
| Использование каждой метки, группа5: model-1-03-R800.fem | 0 | 0 | Выполнен |
| Объём области, группа5: model-1-03-R800.fem | 7,994 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Использование каждой метки, группа6: model-1-03-R800.fem | 0 | 0 | Выполнен |
| Объём области, группа6: model-1-03-R800.fem | 2,442 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Использование каждой метки, группа7: model-1-03-R800.fem | 0 | 0 | Выполнен |
| Объём области, группа7: model-1-03-R800.fem | 888,2 × 10⁻¹⁸ | 1e-08 | Выполнен |
| Использование каждой метки, группа11: model-1-03-R800.fem | 0 | 0 | Выполнен |
| Объём области, группа11: model-1-03-R800.fem | 1,776 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Независимый интеграл |J|²/(2σ): model-1-03-R800.fem | 20,89 × 10⁻⁶ | 0,02 | Выполнен |
| Сложение потерь трёх зон: model-1-03-R800.fem | 222 × 10⁻¹⁸ | 1e-08 | Выполнен |
| Удаление внешней границы600→800мм, σз/σ=1, joint_loss_W | 62,26 × 10⁻⁶ | 0,005 | Выполнен |
| Удаление внешней границы600→800мм, σз/σ=1, ohmic_loss_W | 164 × 10⁻⁶ | 0,005 | Выполнен |
| Удаление внешней границы600→800мм, σз/σ=1, energy_J | 46,67 × 10⁻⁶ | 0,005 | Выполнен |
| Активная мощность цепи и потери: model-0p2-01.fem | 59 × 10⁻⁶ | 0,002 | Выполнен |
| Использование каждой метки, группа1: model-0p2-01.fem | 0 | 0 | Выполнен |
| Объём области, группа1: model-0p2-01.fem | 0,001222 | 0,003 | Выполнен |
| Использование каждой метки, группа3: model-0p2-01.fem | 0 | 0 | Выполнен |
| Объём области, группа3: model-0p2-01.fem | 313,4 × 10⁻⁶ | 0,003 | Выполнен |
| Использование каждой метки, группа5: model-0p2-01.fem | 0 | 0 | Выполнен |
| Объём области, группа5: model-0p2-01.fem | 1,998 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Использование каждой метки, группа6: model-0p2-01.fem | 0 | 0 | Выполнен |
| Объём области, группа6: model-0p2-01.fem | 888,2 × 10⁻¹⁸ | 1e-08 | Выполнен |
| Использование каждой метки, группа7: model-0p2-01.fem | 0 | 0 | Выполнен |
| Объём области, группа7: model-0p2-01.fem | 222 × 10⁻¹⁸ | 1e-08 | Выполнен |
| Использование каждой метки, группа11: model-0p2-01.fem | 0 | 0 | Выполнен |
| Объём области, группа11: model-0p2-01.fem | 1,776 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Независимый интеграл |J|²/(2σ): model-0p2-01.fem | 242 × 10⁻⁶ | 0,02 | Выполнен |
| Сложение потерь трёх зон: model-0p2-01.fem | 1,11 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Активная мощность цепи и потери: model-0p2-02.fem | 14,87 × 10⁻⁶ | 0,002 | Выполнен |
| Использование каждой метки, группа1: model-0p2-02.fem | 0 | 0 | Выполнен |
| Объём области, группа1: model-0p2-02.fem | 305,6 × 10⁻⁶ | 0,00075 | Выполнен |
| Использование каждой метки, группа3: model-0p2-02.fem | 0 | 0 | Выполнен |
| Объём области, группа3: model-0p2-02.fem | 78,37 × 10⁻⁶ | 0,00075 | Выполнен |
| Использование каждой метки, группа5: model-0p2-02.fem | 0 | 0 | Выполнен |
| Объём области, группа5: model-0p2-02.fem | 5,218 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Использование каждой метки, группа6: model-0p2-02.fem | 0 | 0 | Выполнен |
| Объём области, группа6: model-0p2-02.fem | 555,1 × 10⁻¹⁸ | 1e-08 | Выполнен |
| Использование каждой метки, группа7: model-0p2-02.fem | 0 | 0 | Выполнен |
| Объём области, группа7: model-0p2-02.fem | 1,443 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Использование каждой метки, группа11: model-0p2-02.fem | 0 | 0 | Выполнен |
| Объём области, группа11: model-0p2-02.fem | 444,1 × 10⁻¹⁸ | 1e-08 | Выполнен |
| Независимый интеграл |J|²/(2σ): model-0p2-02.fem | 59,37 × 10⁻⁶ | 0,02 | Выполнен |
| Сложение потерь трёх зон: model-0p2-02.fem | 2,998 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Активная мощность цепи и потери: model-0p2-03.fem | 3,797 × 10⁻⁶ | 0,002 | Выполнен |
| Использование каждой метки, группа1: model-0p2-03.fem | 0 | 0 | Выполнен |
| Объём области, группа1: model-0p2-03.fem | 76,42 × 10⁻⁶ | 0,0001875 | Выполнен |
| Использование каждой метки, группа3: model-0p2-03.fem | 0 | 0 | Выполнен |
| Объём области, группа3: model-0p2-03.fem | 19,59 × 10⁻⁶ | 0,0001875 | Выполнен |
| Использование каждой метки, группа5: model-0p2-03.fem | 0 | 0 | Выполнен |
| Объём области, группа5: model-0p2-03.fem | 5,551 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Использование каждой метки, группа6: model-0p2-03.fem | 0 | 0 | Выполнен |
| Объём области, группа6: model-0p2-03.fem | 3,442 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Использование каждой метки, группа7: model-0p2-03.fem | 0 | 0 | Выполнен |
| Объём области, группа7: model-0p2-03.fem | 5,44 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Использование каждой метки, группа11: model-0p2-03.fem | 0 | 0 | Выполнен |
| Объём области, группа11: model-0p2-03.fem | 3,331 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Независимый интеграл |J|²/(2σ): model-0p2-03.fem | 15,11 × 10⁻⁶ | 0,02 | Выполнен |
| Сложение потерь трёх зон: model-0p2-03.fem | 1,998 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Сходимость последних двух сеток, σз/σ=0.2, joint_loss_W | 0,001939 | 0,012 | Выполнен |
| Сходимость последних двух сеток, σз/σ=0.2, ohmic_loss_W | 177,1 × 10⁻⁶ | 0,012 | Выполнен |
| Сходимость последних двух сеток, σз/σ=0.2, energy_J | 0,001565 | 0,012 | Выполнен |
| Активная мощность цепи и потери: model-0p2-03-R800.fem | 3,823 × 10⁻⁶ | 0,002 | Выполнен |
| Использование каждой метки, группа1: model-0p2-03-R800.fem | 0 | 0 | Выполнен |
| Объём области, группа1: model-0p2-03-R800.fem | 76,26 × 10⁻⁶ | 0,0001875 | Выполнен |
| Использование каждой метки, группа3: model-0p2-03-R800.fem | 0 | 0 | Выполнен |
| Объём области, группа3: model-0p2-03-R800.fem | 19,59 × 10⁻⁶ | 0,0001875 | Выполнен |
| Использование каждой метки, группа5: model-0p2-03-R800.fem | 0 | 0 | Выполнен |
| Объём области, группа5: model-0p2-03-R800.fem | 7,994 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Использование каждой метки, группа6: model-0p2-03-R800.fem | 0 | 0 | Выполнен |
| Объём области, группа6: model-0p2-03-R800.fem | 2,442 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Использование каждой метки, группа7: model-0p2-03-R800.fem | 0 | 0 | Выполнен |
| Объём области, группа7: model-0p2-03-R800.fem | 888,2 × 10⁻¹⁸ | 1e-08 | Выполнен |
| Использование каждой метки, группа11: model-0p2-03-R800.fem | 0 | 0 | Выполнен |
| Объём области, группа11: model-0p2-03-R800.fem | 1,776 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Независимый интеграл |J|²/(2σ): model-0p2-03-R800.fem | 15,12 × 10⁻⁶ | 0,02 | Выполнен |
| Сложение потерь трёх зон: model-0p2-03-R800.fem | 30,75 × 10⁻¹⁵ | 1e-08 | Выполнен |
| Удаление внешней границы600→800мм, σз/σ=0.2, joint_loss_W | 85,84 × 10⁻⁶ | 0,005 | Выполнен |
| Удаление внешней границы600→800мм, σз/σ=0.2, ohmic_loss_W | 157,9 × 10⁻⁶ | 0,005 | Выполнен |
| Удаление внешней границы600→800мм, σз/σ=0.2, energy_J | 46,56 × 10⁻⁶ | 0,005 | Выполнен |
Допуски относятся к указанной учебной задаче и способу сравнения. Число показанных цифр не означает такой же физической точности.
Модели, решения и программа
Для нового расчёта сохраните программу, модели и необходимые данные в одну рабочую папку, сохраняя структуру подпапок.
- Файл результатов: README.md8562 байт
- Магнитное решение: model-0p2-01.ans1175640 байт
- Магнитная модель: model-0p2-01.fem3037 байт
- Магнитное решение: model-0p2-02.ans4503807 байт
- Магнитная модель: model-0p2-02.fem3042 байт
- Магнитное решение: model-0p2-03-R800.ans19120056 байт
- Магнитная модель: model-0p2-03-R800.fem3051 байт
- Магнитное решение: model-0p2-03.ans17738361 байт
- Магнитная модель: model-0p2-03.fem3051 байт
- Магнитное решение: model-1-01.ans1175807 байт
- Магнитная модель: model-1-01.fem3035 байт
- Магнитное решение: model-1-02.ans4504161 байт
- Магнитная модель: model-1-02.fem3040 байт
- Магнитное решение: model-1-03-R800.ans19121873 байт
- Магнитная модель: model-1-03-R800.fem3049 байт
- Магнитное решение: model-1-03.ans17739895 байт
- Магнитная модель: model-1-03.fem3049 байт
- Программа встроенного Python: reproduce.py10085 байт
- Файл результатов: supersession.json3555 байт
- Файл результатов: verification.json5340 байт
Границы применимости
- Немагнитная труба с постоянными свойствами; кольцевая зона представляет только изменение проводимости, а не полную физику сварного шва.
- Проверены точные учебные файлы и численные критерии. Физические измерения и снимки интерфейса FEMM относятся к отдельным проходам.