"""Геометрическое подобие вихретоковой модели при одинаковой B."""
exec(open('common.py').read())
original=json.load(open('similarity-source.json'))['records']
reference=next(r for r in original if r['id']=='Возбуждение-Токовый-слой')
J0=reference['amplitude']
for depth in [100,50]:
    scale=.5;setup(50,depth);mi_smartmesh(0);material('Массивная сталь',500,2/(scale*scale))
    circle(60*scale,1,.6);label(0,0,'Массивная сталь',.3*scale,1);label(62*scale,1,'Воздух',.35*scale);label(67*scale,1,'Воздух',scale);outer(80*scale)
    for k in range(96):
        a=360*k/96;b=360*(k+1)/96;t=math.radians((a+b)/2);sinc=math.sin(2*math.pi/96)/(2*math.pi/96)
        prop='Возбуждение '+str(k+1);material(prop,j=J0/scale*complex(math.cos(2*t),math.sin(2*t))/sinc)
        sector(64*scale,65*scale,a,b,10,.8);label(64.5*scale,(a+b)/2,prop,.35*scale,10)
    name='Подобие-Масштаб0.5-Длина'+str(depth)
    r=solve(name,{'family':'massive-similarity','scale':scale,'depth_mm':depth,'sigma_MSpm':8,'source_J_scale':2,'conditions':'Геометрическое подобие:все поперечные размеры уменьшены в2раза;μr500,f50Гц,σувеличена в4раза,Jв2раза;индукция в сходственных точках сохраняется. Глубина'+str(depth)+'мм.'},60.001*scale,1,body_groups=[1])
    aa,bb=spatial(r['ring'],2);r['Br_surface_T']=max(abs((aa+1j*bb)/2),abs((aa-1j*bb)/2));r['Pbody_W']=r['bodies']['1']['P_W'];r['P_reference_W']=reference['Pbody_W'];r['predicted_P_ratio']=scale*scale*depth/100;r['actual_P_ratio']=r['Pbody_W']/reference['Pbody_W'];save_result()
print('MASSIVE_SIMILARITY_COMPLETE',len(records))
