FEMM 5

Магнитостатика и индуктивное измерение · Осесимметричная

Дифференциальный трансформатор LVDT: знак, нуль и калибровка

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

Первичная катушка находится в плоскости z=0 и имеет 200 витков. Две вторичные имеют по 100 витков и центры z=±20 мм. Все обмотки занимают радиусы 6…10 мм и осевую высоту 8 мм. Сердечник радиусом 3 мм, длиной 30 мм и μr=500 перемещается на −10, −5, 0, +5 и +10 мм. Ток единичного магнитостатического опыта равен 1 А.

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

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

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

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

Разность взаимных индуктивностей

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

Для идеального низкочастотного режима гармоническая ЭДС восстанавливается умножением разности потокосцеплений на ω. В таблице отдельно сохранены амплитуда и подписанный квадратурный коэффициент при выбранной опорной фазе. Обычный амплитудный вольтметр не различает знак смещения без фазовой информации.

\Delta M=M_{\mathrm{верх}}-M_{\mathrm{низ}},\qquad \widehat U_{\mathrm{диф}}=\mathrm{i}\omega\Delta M\widehat I_1

Чем проверяется полевой результат

Для каждого положения выполнены два независимых возбуждения: первичное и верхнее вторичное. Прямой и обратный коэффициенты связи сравниваются по принципу взаимности. В каждом опыте объёмная энергия проверяется суммой Iψ/2, а три сетки контролируют устойчивость измеряемой индуктивности.

На окончательной сетке дополнительно проверяются нуль при z=0, смена знака при смещении и нечётность характеристики на парах ±5 и ±10 мм. ЭДС показана для частоты 1 кГц как постобработка линейной магнитостатической матрицы. Сердечник непроводящий, поэтому этот перевод не содержит вихретокового или гистерезисного фазового сдвига. Для реального LVDT понадобятся комплексная магнитная проницаемость, сопротивления обмоток и схема демодуляции.

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

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

Величины, единицы и происхождение параметров
ПараметрЗначениеЕдиницаПроисхождение
Радиусы обмоток6…10ммЗаданный параметр самостоятельной учебной модели
Высота обмотки8ммЗаданный параметр самостоятельной учебной модели
Число витков первичной200Заданный параметр самостоятельной учебной модели
Число витков каждой вторичной100Заданный параметр самостоятельной учебной модели
Радиус сердечника3ммЗаданный параметр самостоятельной учебной модели
Длина сердечника30ммЗаданный параметр самостоятельной учебной модели
Относительная проницаемость500Заданный параметр самостоятельной учебной модели
Смещения−10; −5; 0; +5; +10ммЗаданный параметр самостоятельной учебной модели
Частота пересчёта идеальной ЭДС1000ГцЗаданный параметр самостоятельной учебной модели

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

  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.
Команды FEMM доступны глобально, внешний пакет femm не используется.
Каждая сетка сохраняется в отдельный FEM, закрывается, открывается повторно
и решается с русскими именами свойств. Новый запуск создаёт calculated-NN.
Опубликованные модели и квитанции не изменяются. Размеры: мм; результаты: СИ.
"""
import os
import sys
import math
import json
CONFIG = {'N': 100, 'I': 1, 'mu': 500, 'f': 1000, 'variants': [-10, -5, 0, 5, 10]}
MODE = 'lvdt'
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=[]
MU0=4*math.pi*1e-7

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

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

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

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

def polygon(points,boundary=None,spacing=0):
    for x,y in points:mi_addnode(x,y)
    for i,(x,y) in enumerate(points):
        x2,y2=points[(i+1)%len(points)];mi_addsegment(x,y,x2,y2)
        if boundary:
            mi_selectsegment((x+x2)/2,(y+y2)/2)
            mi_setsegmentprop(boundary,spacing,0,0,0);mi_clearselected()

def rect(x1,y1,x2,y2):polygon([(x1,y1),(x2,y1),(x2,y2),(x1,y2)])

def circle(x,y,r,angle,boundary=None):
    mi_addnode(x-r,y);mi_addnode(x+r,y)
    mi_addarc(x-r,y,x+r,y,180,angle);mi_addarc(x+r,y,x-r,y,180,angle)
    if boundary:
        mi_selectarcsegment(x,y-r);mi_selectarcsegment(x,y+r)
        mi_setarcsegmentprop(angle,boundary,0,0);mi_clearselected()

def halfcircle(r,angle,boundary=None):
    mi_addnode(0,-r);mi_addnode(0,r)
    mi_addarc(0,-r,0,r,180,angle)
    if boundary:
        mi_selectarcsegment(r,0);mi_setarcsegmentprop(angle,boundary,0,0);mi_clearselected()

def start(axis,f,outer,level,uniform=0):
    newdocument(0)
    mi_probdef(f,'millimeters','axi' if axis else 'planar',1e-10,1000,30,0)
    material('Воздух')
    # Коэффициенты пространственной функции A вводятся на миллиметр геометрии.
    mi_addboundprop('Внешняя граница',0,uniform/2000 if axis else 0,0 if axis else uniform/1000,0,0,0,0,0,0)
    if axis:
        # Ось r=0, z снизу вверх: исходные координаты библиотек не используются.
        halfcircle(outer,4/(2**level),'Внешняя граница')
        mi_addsegment(0,-outer,0,outer)
    else:circle(0,0,outer,4/(2**level),'Внешняя граница')

def close_axis():
    # FEMM автоматически разбивает осевой отрезок вершинами внутренних дуг.
    pass

def coil(r,z,width,height,current,turns,mesh,num):
    name='Обмотка %d'%num
    mi_addcircprop(name,current,1)
    rect(r-width/2,z-height/2,r+width/2,z+height/2)
    label(r,z,'Медь обмотки',mesh,10+num,name,turns)
    return name

def solve(level,variant,tag=''):
    name='model-%s-%02d%s.fem'%(str(variant).replace('.','p'),level+1,tag)
    mi_saveas(directory+'/'+name);mi_close();opendocument(directory+'/'+name)
    mi_analyze(1);mi_loadsolution();mo_smooth('off')
    mo_groupselectblock();energy=real(mo_blockintegral(2));loss=real(mo_blockintegral(4));mo_clearblock()
    return {'model':name,'level':level+1,'variant':variant,'nodes':mo_numnodes(),'elements':mo_numelements(),'energy_J':energy,'ohmic_loss_W':loss,'saved_reopened_solved':True}

def finish():mo_close();mi_close()

def loop_field(r,z,turns,current,position):
    r*=0.001;dz=(position-z)*0.001
    return MU0*turns*current*r*r/(2*(r*r+dz*dz)**1.5)

def bessel(n,z):
    term=(z/2)**n
    total=term
    for k in range(1,100):
        term*=-(z*z/4)/(k*(k+n));total+=term
        if abs(term)<1e-15*max(1,abs(total)):break
    return total

def skin_resistance(radius,sigma,f):
    a=radius*.001
    if f==0:return 1/(math.pi*a*a*sigma)
    delta=math.sqrt(2/(2*math.pi*f*MU0*sigma));k=(1-1j)/delta
    return (k*bessel(0,k*a)/(2*math.pi*a*sigma*bessel(1,k*a))).real

def circuit_values(name):
    i,v,psi=mo_getcircuitproperties(name)
    return complex(i),complex(v),complex(psi)

def magnetic_b(x,y):
    mo_smooth('on')
    values=mo_getpointvalues(x,y)
    mo_smooth('off')
    return values[1],values[2]

def asinh(x):return math.log(x+math.sqrt(x*x+1))

def energy_identity(row,circuits,frequency):
    power=0;fluxenergy=0
    for name in circuits:
        i,v,psi=circuit_values(name)
        power+=(v*i.conjugate()).real/2
        fluxenergy+=(psi*i.conjugate()).real/(4 if frequency else 2)
    row['circuit_active_power_W']=power
    row['circuit_energy_J']=fluxenergy
    if frequency:
        error=abs(power-row['ohmic_loss_W'])/max(abs(power),1e-20)
        row['power_balance_relative']=error
        check('Баланс активной мощности '+row['model'],error,0.015)
    else:
        error=abs(fluxenergy-row['energy_J'])/max(abs(fluxenergy),1e-20)
        row['energy_identity_relative']=error
        check('Энергия и потокосцепление '+row['model'],error,0.012/(2**(row['level']-1)))


if MODE=='lvdt':
 for variant in CONFIG['variants']:
  for excitation in (1,2):
   for level in range(3):
    start(True,0,250,level);material('Медь идеальных обмоток');material('Линейный сердечник LVDT',CONFIG['mu'])
    rect(0,variant-15,3,variant+15);label(1,variant,'Линейный сердечник LVDT',.6/(2**level),5)
    names=[]
    specs=[(0,200,1 if excitation==1 else 0),(20,100,1 if excitation==2 else 0),(-20,100,0)]
    for num,(z,turns,current) in enumerate(specs,1):
        name=('Первичная обмотка','Верхняя вторичная обмотка','Нижняя вторичная обмотка')[num-1]
        mi_addcircprop(name,current,1);names.append(name)
        rect(6,z-4,10,z+4);label(8,z,'Медь идеальных обмоток',.6/(2**level),10+num,name,turns)
    rect(0,-60,30,60);label(20,0,'Воздух',1.2/(2**level),3);label(150,0,'Воздух',15/(2**level),1)
    row=solve(level,variant,'-exc%d'%excitation);row['excitation']=excitation
    energy_identity(row,names,0)
    flux=[circuit_values(n)[2].real for n in names]
    if excitation==1:
        row.update({'primary_L_H':flux[0],'upper_M_H':flux[1],'lower_M_H':flux[2],'differential_M_H':flux[1]-flux[2],'differential_voltage_amplitude_V':2*math.pi*CONFIG['f']*abs(flux[1]-flux[2]),'differential_voltage_signed_V':2*math.pi*CONFIG['f']*(flux[1]-flux[2]),'primary':flux[0]})
    else:row.update({'reverse_upper_M_H':flux[0],'upper_self_L_H':flux[1],'primary':flux[1]})
    records.append(row);finish()
 for displacement in CONFIG['variants']:
    a=[r for r in records if r['variant']==displacement and r['level']==3 and r['excitation']==1][0]
    b=[r for r in records if r['variant']==displacement and r['level']==3 and r['excitation']==2][0]
    check('Взаимность первичная — верхняя при смещении '+str(displacement),abs(a['upper_M_H']/b['reverse_upper_M_H']-1),.002)
    if displacement==0:check('Дифференциальный нуль в центре',abs(a['differential_M_H'])/max(abs(a['upper_M_H']),abs(a['lower_M_H'])),.002)
    else:check('Знак дифференциального отклика при смещении '+str(displacement),max(0,-a['differential_M_H']*displacement),0)
 for displacement in (5,10):
    positive=[r for r in records if r['variant']==displacement and r['level']==3 and r['excitation']==1][0]
    negative=[r for r in records if r['variant']==-displacement and r['level']==3 and r['excitation']==1][0]
    check('Нечётность калибровочной характеристики ±'+str(displacement),abs(positive['differential_M_H']+negative['differential_M_H'])/max(abs(positive['differential_M_H']),abs(negative['differential_M_H'])),.01)

elif MODE=='logging':
 def filament_mutual(radius,spacing,turns):
    count=720;step=2*math.pi/count;total=0
    for k in range(count+1):
        angle=k*step
        value=math.cos(angle)/math.sqrt(2*radius*radius+spacing*spacing-2*radius*radius*math.cos(angle))
        total+=value*(1 if k in (0,count) else 4 if k%2 else 2)
    return MU0*turns*turns*radius*radius/2*total*step/3
 controls=((0,0),(.1,.1),(1,1),(10,10),(.1,10))
 for variant in CONFIG['variants']:
  for excitation in (1,2):
   for level in range(3):
    # Прямоугольная область: r=0..20м,z=±20м; ближние области сгущаются отдельно.
    newdocument(0);mi_probdef(CONFIG['f'],'millimeters','axi',1e-10,1000,30,0)
    material('Воздух скважины');material('Медь идеальных катушек')
    lo,hi=controls[variant]
    material('Нижний пласт',1,lo);material('Верхний пласт',1,hi)
    mi_addboundprop('Удалённая граница A=0',0,0,0,0,0,0,0,0,0)
    polygon([(0,-20000),(75,-20000),(1500,-20000),(20000,-20000),(20000,0),(20000,20000),(1500,20000),(75,20000),(0,20000)],'Удалённая граница A=0',1000/(2**level))
    # Полный цилиндр скважины и два горизонтальных пласта.
    for y in (-1000,0,1000):mi_addnode(75,y)
    for a,b in ((-20000,-1000),(-1000,0),(0,1000),(1000,20000)):mi_addsegment(75,a,75,b)
    mi_addsegment(75,0,20000,0)
    # Ближняя зона горной среды и скважины не изменяет физических материалов.
    for y in (-1000,1000):
        mi_addnode(1500,y);mi_addsegment(75,y,1500,y)
    mi_addnode(1500,0);mi_addsegment(1500,-1000,1500,0);mi_addsegment(1500,0,1500,1000)
    for y in (-750,750):
        mi_addnode(0,y);mi_addnode(75,y);mi_addsegment(0,y,75,y)
    label(40,0,'Воздух скважины',8/(2**level),3)
    label(40,-10000,'Воздух скважины',1000/(2**level),1);label(40,10000,'Воздух скважины',1000/(2**level),1)
    label(500,-500,'Нижний пласт',60/(2**level),5);label(500,500,'Верхний пласт',60/(2**level),6)
    label(5000,-5000,'Нижний пласт',600/(2**level),5);label(5000,5000,'Верхний пласт',600/(2**level),6)
    names=[]
    for num,z in enumerate((-250,250),1):
        name='Передающая катушка' if num==1 else 'Приёмная катушка'
        current=1 if num==excitation else 0
        mi_addcircprop(name,current,1);names.append(name)
        rect(48,z-5,52,z+5);label(50,z,'Медь идеальных катушек',1/(2**level),10+num,name,CONFIG['N'])
    row=solve(level,variant,'-exc%d'%excitation);row['excitation']=excitation
    energy_identity(row,names,CONFIG['f'])
    ii,vv,mm=circuit_values(names[1 if excitation==1 else 0]);transfer=mm
    row.update({'sigma_lower_S_m':lo,'sigma_upper_S_m':hi,'mutual_real_H':transfer.real,'mutual_imag_H':transfer.imag,'mutual_abs_H':abs(transfer),'transfer_phase_deg':math.atan2(transfer.imag,transfer.real)*180/math.pi,'receiver_voltage_amplitude_V':2*math.pi*CONFIG['f']*abs(transfer),'primary':abs(transfer)})
    if variant==0:
        exact=filament_mutual(.05,.5,CONFIG['N']);row['Neumann_air_mutual_H']=exact
        check('Независимый интеграл Неймана в воздухе '+row['model'],abs(transfer.real/exact-1),.025)
        check('Воздушный контроль без фазового сдвига '+row['model'],abs(transfer.imag)/abs(transfer),1e-8)
    records.append(row);finish()
 for variant in CONFIG['variants']:
    a=[r for r in records if r['variant']==variant and r['level']==3 and r['excitation']==1][0]
    b=[r for r in records if r['variant']==variant and r['level']==3 and r['excitation']==2][0]
    ma=complex(a['mutual_real_H'],a['mutual_imag_H']);mb=complex(b['mutual_real_H'],b['mutual_imag_H'])
    check('Комплексная взаимность Tx/Rx в среде '+str(variant),abs(ma-mb)/abs(ma),.003)
 air=[r for r in records if r['variant']==0 and r['level']==3 and r['excitation']==1][0]
 homogeneous=[r for r in records if r['variant']==2 and r['level']==3 and r['excitation']==1][0]
 layered=[r for r in records if r['variant']==4 and r['level']==3 and r['excitation']==1][0]
 high=[r for r in records if r['variant']==3 and r['level']==3 and r['excitation']==1][0]
 signal=abs(complex(high['mutual_real_H']-air['mutual_real_H'],high['mutual_imag_H']-air['mutual_imag_H']))/air['mutual_abs_H']
 layer_signal=abs(complex(layered['mutual_real_H']-homogeneous['mutual_real_H'],layered['mutual_imag_H']-homogeneous['mutual_imag_H']))/homogeneous['mutual_abs_H']
 check('Разрешимый отклик на проводимость среды',max(0,.01-signal),0)
 check('Разрешимый отклик на слоистость',max(0,.005-layer_signal),0)

elif MODE=='meissner':
 for variant in CONFIG['variants']:
  for level in range(3):
    radius=variant;outer=20*radius
    start(True,0,outer,level,CONFIG['B'])
    mi_addboundprop('Идеальная граница Мейснера',0,0,0,0,0,0,0,0,0)
    halfcircle(radius,2/(2**level),'Идеальная граница Мейснера')
    label(radius*.5,0,'<No Mesh>',radius/10,0)
    halfcircle(3*radius,3/(2**level))
    label(2*radius,0,'Воздух',radius/10/(2**level),3);label(10*radius,0,'Воздух',outer/20/(2**level),1)
    row=solve(level,variant)
    probes=[]
    for rp,zp in ((1.5,0),(2,0),(0,1.5),(0,2),(.9,.9)):
        rr=math.sqrt(rp*rp+zp*zp);alpha=1/rr**3
        br=-1.5*CONFIG['B']*alpha*rp*zp/(rr*rr)
        bz=CONFIG['B']*((1-alpha)*zp*zp+(1+alpha/2)*rp*rp)/(rr*rr)
        measured_r,measured_z=magnetic_b(rp*radius,zp*radius)
        measured_r=real(measured_r);measured_z=real(measured_z)
        err=math.sqrt((measured_r-br)**2+(measured_z-bz)**2)/CONFIG['B']
        check('Аналитическое поле идеальной диамагнитной сферы '+str(rp)+','+str(zp)+' '+row['model'],err,.035/(2**level))
        probes.append([rp,zp,measured_r,measured_z,br,bz])
    row.update({'radius_mm':radius,'equator_1p5a_Bz_T':probes[0][3],'pole_1p5a_Bz_T':probes[2][3],'field_probes_r_over_a_z_over_a_T':probes,'energy_per_radius_cubed_J_m3':row['energy_J']/(radius*.001)**3,'primary':probes[0][3]})
    records.append(row);finish()
 finest=[r for r in records if r['level']==3]
 for row in finest[1:]:check('Геометрическое подобие энергии a='+str(row['radius_mm']),abs(row['energy_per_radius_cubed_J_m3']/finest[0]['energy_per_radius_cubed_J_m3']-1),.005)
# Сходимость по трём сеткам проверяется отдельно для каждого физического режима.
groups={}
for row in records:
    if 'level' not in row:continue
    key=str(row['variant'])+str(row.get('shape',''))+str(row.get('excitation',''))
    if key not in groups:groups[key]=[]
    groups[key].append(row)
for key,rows in groups.items():
    rows.sort(key=lambda row:row['level'])
    value=abs(rows[-1]['primary']/rows[-2]['primary']-1)
    check('Сходимость измеряемой величины, режим '+key,value,0.025 if MODE in ('lvdt','logging','meissner') else 0.012)
result={'runtime':'FEMM 5; embedded MicroPython','case_id':'differential-transformer-lvdt','records':records,'checks':checks,'passed':all(c['passed'] for c in checks),'scope':'Самостоятельная учебная 2D/осесимметричная модель; численные проверки относятся к указанным параметрам.'}
with open(directory+'/result.json','w') as stream:json.dump(result,stream)
print(json.dumps(result))
assert result['passed']

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

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

Окна FEMM 5

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

Дифференциальный трансформатор LVDT: осесимметричная геометрия сердечника и трёх катушек при смещении сердечника +5 мм. Подписи скрыты для читаемости.
Дифференциальный трансформатор LVDT: осесимметричная геометрия сердечника и трёх катушек при смещении сердечника +5 мм. Подписи скрыты для читаемости. Открыть в полном размере
LVDT при смещении сердечника +5 мм: статическое базисное возбуждение верхней вторичной катушки током 1 А; остальные токи равны нулю. Карта |B|, Т, и линии поля для расчёта взаимной индуктивности.
LVDT при смещении сердечника +5 мм: статическое базисное возбуждение верхней вторичной катушки током 1 А; остальные токи равны нулю. Карта |B|, Т, и линии поля для расчёта взаимной индуктивности. Открыть в полном размере

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

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

Результаты расчётов и производные итоги
Файл моделиСохранение, открытие и решениеАктивная мощность цепей, ВтЧисло элементовУровень сеткиНомер возбужденияВзаимная связь с верхней вторичной, ГнСредние джоулевы потери, ВтРазность взаимных индуктивностей, ГнЭнергия по потокосцеплениям, ДжЭнергия поля, ДжПодписанный квадратурный коэффициент ЭДС, ВВзаимная связь с нижней вторичной, ГнИндуктивность первичной обмотки, ГнНомер физического режимаОсновной численный результатОтносительная ошибка энергетического равенстваАмплитуда идеальной дифференциальной ЭДС, ВЧисло узловОбратная взаимная индуктивность, ГнИндуктивность верхней вторичной, Гн
model--10-01-exc1.femДа0141211134,145961 × 10⁻⁶0-147,19296 × 10⁻⁶549,81526 × 10⁻⁶549,57002 × 10⁻⁶-0,92484065181,33892 × 10⁻⁶0,0010996305-100,0010996305446,04782 × 10⁻⁶0,924840657241——
model--10-02-exc1.femДа0348322134,175109 × 10⁻⁶0-147,59237 × 10⁻⁶551,65368 × 10⁻⁶551,48466 × 10⁻⁶-0,92735023181,76748 × 10⁻⁶0,0011033074-100,0011033074306,39334 × 10⁻⁶0,9273502317666——
model--10-03-exc1.femДа01274283134,257574 × 10⁻⁶0-148,12532 × 10⁻⁶553,23309 × 10⁻⁶553,18909 × 10⁻⁶-0,93069886182,3829 × 10⁻⁶0,0011064662-100,001106466279,541802 × 10⁻⁶0,9306988664142——
model--10-01-exc2.femДа01412112—0—63,050691 × 10⁻⁶63,049898 × 10⁻⁶———-10126,10138 × 10⁻⁶12,563941 × 10⁻⁶—724134,134907 × 10⁻⁶126,10138 × 10⁻⁶
model--10-02-exc2.femДа03483222—0—63,330128 × 10⁻⁶63,333362 × 10⁻⁶———-10126,66026 × 10⁻⁶51,064223 × 10⁻⁶—1766634,172397 × 10⁻⁶126,66026 × 10⁻⁶
model--10-03-exc2.femДа012742832—0—63,434736 × 10⁻⁶63,434923 × 10⁻⁶———-10126,86947 × 10⁻⁶2,9502737 × 10⁻⁶—6414234,256852 × 10⁻⁶126,86947 × 10⁻⁶
model--5-01-exc1.femДа0140521155,790713 × 10⁻⁶0-93,62533 × 10⁻⁶689,456 × 10⁻⁶688,99655 × 10⁻⁶-0,5882653149,41604 × 10⁻⁶0,001378912-50,001378912666,39343 × 10⁻⁶0,58826537203——
model--5-02-exc1.femДа0346402155,904971 × 10⁻⁶0-93,955444 × 10⁻⁶691,22968 × 10⁻⁶691,00059 × 10⁻⁶-0,59033946149,86042 × 10⁻⁶0,0013824594-50,0013824594331,42574 × 10⁻⁶0,5903394617570——
model--5-03-exc1.femДа01271133156,056176 × 10⁻⁶0-94,304502 × 10⁻⁶692,62077 × 10⁻⁶692,54747 × 10⁻⁶-0,59253266150,36068 × 10⁻⁶0,0013852415-50,0013852415105,84021 × 10⁻⁶0,5925326663972——
model--5-01-exc2.femДа01405212—0—63,946423 × 10⁻⁶63,944584 × 10⁻⁶———-5127,89285 × 10⁻⁶28,754712 × 10⁻⁶—720355,768932 × 10⁻⁶127,89285 × 10⁻⁶
model--5-02-exc2.femДа03464022—0—64,236559 × 10⁻⁶64,238887 × 10⁻⁶———-5128,47312 × 10⁻⁶36,230946 × 10⁻⁶—1757055,899443 × 10⁻⁶128,47312 × 10⁻⁶
model--5-03-exc2.femДа012711332—0—64,344884 × 10⁻⁶64,344927 × 10⁻⁶———-5128,68977 × 10⁻⁶656,12069 × 10⁻⁹—6397256,054788 × 10⁻⁶128,68977 × 10⁻⁶
model-0-01-exc1.femДа0141131193,442613 × 10⁻⁶0-30,401405 × 10⁻⁹736,11683 × 10⁻⁶735,32667 × 10⁻⁶-191,01766 × 10⁻⁶93,473014 × 10⁻⁶0,001472233700,00147223370,0010734156191,01766 × 10⁻⁶7234——
model-0-02-exc1.femДа0350562193,659888 × 10⁻⁶014,594976 × 10⁻⁹737,73765 × 10⁻⁶737,5548 × 10⁻⁶91,702936 × 10⁻⁶93,645293 × 10⁻⁶0,001475475300,0014754753247,85019 × 10⁻⁶91,702936 × 10⁻⁶17778——
model-0-03-exc1.femДа01272603193,839464 × 10⁻⁶0-37,617263 × 10⁻⁹738,74374 × 10⁻⁶738,66485 × 10⁻⁶-236,35624 × 10⁻⁶93,877081 × 10⁻⁶0,001477487500,0014774875106,79062 × 10⁻⁶236,35624 × 10⁻⁶64042——
model-0-01-exc2.femДа01411312—0—68,951912 × 10⁻⁶68,951506 × 10⁻⁶———0137,90382 × 10⁻⁶5,8880842 × 10⁻⁶—723493,415268 × 10⁻⁶137,90382 × 10⁻⁶
model-0-02-exc2.femДа03505622—0—69,262662 × 10⁻⁶69,260166 × 10⁻⁶———0138,52532 × 10⁻⁶36,035985 × 10⁻⁶—1777893,652238 × 10⁻⁶138,52532 × 10⁻⁶
model-0-03-exc2.femДа012726032—0—69,379604 × 10⁻⁶69,378417 × 10⁻⁶———0138,75921 × 10⁻⁶17,114981 × 10⁻⁶—6404293,837595 × 10⁻⁶138,75921 × 10⁻⁶
model-5-01-exc1.femДа01417811149,5514 × 10⁻⁶093,71339 × 10⁻⁶689,67419 × 10⁻⁶689,07401 × 10⁻⁶0,588818655,838012 × 10⁻⁶0,001379348450,0013793484870,23492 × 10⁻⁶0,58881867268——
model-5-02-exc1.femДа03473021149,92128 × 10⁻⁶093,999749 × 10⁻⁶691,34925 × 10⁻⁶691,09849 × 10⁻⁶0,5906178455,921527 × 10⁻⁶0,001382698550,0013826985362,70099 × 10⁻⁶0,5906178417610——
model-5-03-exc1.femДа012760731150,2557 × 10⁻⁶094,199496 × 10⁻⁶692,59562 × 10⁻⁶692,52201 × 10⁻⁶0,5918728956,056204 × 10⁻⁶0,001385191250,0013851912106,27345 × 10⁻⁶0,5918728964224——
model-5-01-exc2.femДа01417812—0—92,306236 × 10⁻⁶92,292893 × 10⁻⁶———5184,61247 × 10⁻⁶144,54948 × 10⁻⁶—7268149,53243 × 10⁻⁶184,61247 × 10⁻⁶
model-5-02-exc2.femДа03473022—0—92,692108 × 10⁻⁶92,679538 × 10⁻⁶———5185,38422 × 10⁻⁶135,60563 × 10⁻⁶—17610149,91633 × 10⁻⁶185,38422 × 10⁻⁶
model-5-03-exc2.femДа012760732—0—92,888521 × 10⁻⁶92,883078 × 10⁻⁶———5185,77704 × 10⁻⁶58,599319 × 10⁻⁶—64224150,25441 × 10⁻⁶185,77704 × 10⁻⁶
model-10-01-exc1.femДа01431411181,27511 × 10⁻⁶0147,13821 × 10⁻⁶549,34171 × 10⁻⁶548,9033 × 10⁻⁶0,9244966334,136901 × 10⁻⁶0,0010986834100,0010986834798,06543 × 10⁻⁶0,924496637342——
model-10-02-exc1.femДа03496421181,76747 × 10⁻⁶0147,59264 × 10⁻⁶551,61644 × 10⁻⁶551,58581 × 10⁻⁶0,9273519334,174827 × 10⁻⁶0,0011032329100,001103232955,527385 × 10⁻⁶0,9273519317724——
model-10-03-exc1.femДа012711331182,2104 × 10⁻⁶0147,96916 × 10⁻⁶553,01133 × 10⁻⁶552,97029 × 10⁻⁶0,9297176434,241248 × 10⁻⁶0,0011060227100,001106022774,223191 × 10⁻⁶0,9297176463982——
model-10-01-exc2.femДа01431412—0—137,53795 × 10⁻⁶137,49792 × 10⁻⁶———10275,0759 × 10⁻⁶291,00879 × 10⁻⁶—7342181,26898 × 10⁻⁶275,0759 × 10⁻⁶
model-10-02-exc2.femДа03496422—0—137,94451 × 10⁻⁶137,9148 × 10⁻⁶———10275,88902 × 10⁻⁶215,38219 × 10⁻⁶—17724181,76771 × 10⁻⁶275,88902 × 10⁻⁶
model-10-03-exc2.femДа012711332—0—138,182 × 10⁻⁶138,16433 × 10⁻⁶———10276,364 × 10⁻⁶127,83974 × 10⁻⁶—63982182,21044 × 10⁻⁶276,364 × 10⁻⁶
Проверки опубликованного расчёта
КритерийПолученоДопуск или ожидаемое значениеИтог
Энергия и потокосцепление model--10-01-exc1.fem446 × 10⁻⁶0,012Выполнен
Энергия и потокосцепление model--10-02-exc1.fem306,4 × 10⁻⁶0,006Выполнен
Энергия и потокосцепление model--10-03-exc1.fem79,54 × 10⁻⁶0,003Выполнен
Энергия и потокосцепление model--10-01-exc2.fem12,56 × 10⁻⁶0,012Выполнен
Энергия и потокосцепление model--10-02-exc2.fem51,06 × 10⁻⁶0,006Выполнен
Энергия и потокосцепление model--10-03-exc2.fem2,95 × 10⁻⁶0,003Выполнен
Энергия и потокосцепление model--5-01-exc1.fem666,4 × 10⁻⁶0,012Выполнен
Энергия и потокосцепление model--5-02-exc1.fem331,4 × 10⁻⁶0,006Выполнен
Энергия и потокосцепление model--5-03-exc1.fem105,8 × 10⁻⁶0,003Выполнен
Энергия и потокосцепление model--5-01-exc2.fem28,75 × 10⁻⁶0,012Выполнен
Энергия и потокосцепление model--5-02-exc2.fem36,23 × 10⁻⁶0,006Выполнен
Энергия и потокосцепление model--5-03-exc2.fem656,1 × 10⁻⁹0,003Выполнен
Энергия и потокосцепление model-0-01-exc1.fem0,0010730,012Выполнен
Энергия и потокосцепление model-0-02-exc1.fem247,9 × 10⁻⁶0,006Выполнен
Энергия и потокосцепление model-0-03-exc1.fem106,8 × 10⁻⁶0,003Выполнен
Энергия и потокосцепление model-0-01-exc2.fem5,888 × 10⁻⁶0,012Выполнен
Энергия и потокосцепление model-0-02-exc2.fem36,04 × 10⁻⁶0,006Выполнен
Энергия и потокосцепление model-0-03-exc2.fem17,11 × 10⁻⁶0,003Выполнен
Энергия и потокосцепление model-5-01-exc1.fem870,2 × 10⁻⁶0,012Выполнен
Энергия и потокосцепление model-5-02-exc1.fem362,7 × 10⁻⁶0,006Выполнен
Энергия и потокосцепление model-5-03-exc1.fem106,3 × 10⁻⁶0,003Выполнен
Энергия и потокосцепление model-5-01-exc2.fem144,5 × 10⁻⁶0,012Выполнен
Энергия и потокосцепление model-5-02-exc2.fem135,6 × 10⁻⁶0,006Выполнен
Энергия и потокосцепление model-5-03-exc2.fem58,6 × 10⁻⁶0,003Выполнен
Энергия и потокосцепление model-10-01-exc1.fem798,1 × 10⁻⁶0,012Выполнен
Энергия и потокосцепление model-10-02-exc1.fem55,53 × 10⁻⁶0,006Выполнен
Энергия и потокосцепление model-10-03-exc1.fem74,22 × 10⁻⁶0,003Выполнен
Энергия и потокосцепление model-10-01-exc2.fem291 × 10⁻⁶0,012Выполнен
Энергия и потокосцепление model-10-02-exc2.fem215,4 × 10⁻⁶0,006Выполнен
Энергия и потокосцепление model-10-03-exc2.fem127,8 × 10⁻⁶0,003Выполнен
Взаимность первичная — верхняя при смещении -1021,05 × 10⁻⁶0,002Выполнен
Знак дифференциального отклика при смещении -1000Выполнен
Взаимность первичная — верхняя при смещении -524,76 × 10⁻⁶0,002Выполнен
Знак дифференциального отклика при смещении -500Выполнен
Взаимность первичная — верхняя при смещении 019,92 × 10⁻⁶0,002Выполнен
Дифференциальный нуль в центре400,7 × 10⁻⁶0,002Выполнен
Взаимность первичная — верхняя при смещении 58,595 × 10⁻⁶0,002Выполнен
Знак дифференциального отклика при смещении 500Выполнен
Взаимность первичная — верхняя при смещении 10185,7 × 10⁻⁹0,002Выполнен
Знак дифференциального отклика при смещении 1000Выполнен
Нечётность калибровочной характеристики ±50,0011130,01Выполнен
Нечётность калибровочной характеристики ±100,0010540,01Выполнен
Сходимость измеряемой величины, режим 1010,0025290,025Выполнен
Сходимость измеряемой величины, режим -520,0016860,025Выполнен
Сходимость измеряемой величины, режим 510,0018030,025Выполнен
Сходимость измеряемой величины, режим 520,0021190,025Выполнен
Сходимость измеряемой величины, режим 010,0013640,025Выполнен
Сходимость измеряемой величины, режим 1020,0017220,025Выполнен
Сходимость измеряемой величины, режим -1010,0028630,025Выполнен
Сходимость измеряемой величины, режим 020,0016880,025Выполнен
Сходимость измеряемой величины, режим -510,0020120,025Выполнен
Сходимость измеряемой величины, режим -1020,0016520,025Выполнен

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

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

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

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

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