import time """ double d0=900e-6;//диаметр накачки, м f=1/.254/P*pow(d,2)/pow(d0,2); //qDebug()<<"f"<<f; linza(f); )--l1--FNd--l2--| """ start_time = time.clock() n = 1, 6 # nx, ny l, y = o.vectorY(*n, 20 * 1e-3, 80 * 1e-3) L = o.OptSpace(*n, l) F = o.OptLens(*n, 30e-3) y1 = o.OptY(*n, 8e-3, 0) opt = L, F, L #print(q1) #print(q2) #legend = list(map(lambda y: 'rHr = ' + str(y * 1000) + 'mm', y)) # #o.grafX(x, q1.rho * 2e3, 'график 1', 'P, W', 'D, mm', legend) print(time.clock() - start_time, "seconds") #o.graf2d(x,y,q2.rho * 2e6, 'ris1', 'P, Вт', 'радиус зеркала, мм', 150, 200, 1000) #print (time.clock() - start_time, "seconds") z, rho = o.lineOpt(opt, y1) legend = list(map(lambda y: 'P = ' + str(y) + 'W', y)) o.grafX(z, rho * 2e3, 'график 1', 'z, mm', 'D, mm', legend)
F3 = o.OptLens(*n, f3) opt2 = opt, L3, F3, L1 print(time.clock() - start_time, "seconds") z, rho = o.lineOpt(opt2, y1) i0 = 0 rho0 = 0 if (k == 0): legend = list( map( lambda y, l: 'L1 = ' + str(y * 100) + 'mm' + ' L2 = ' + str( l * 100) + 'mm', y, l3[0])) o.grafX(z * 100, rho * 2e2, 'телеcкоп', 'z, mm', 'D, mm', legend) elif (k == 1): legend = "F2", "F3" l = list(map(lambda l2, l3: (l2 * 100, (l2 + l3) * 100), l2[0], l3[0])) o.grafX(rho[:][-1] * 200, l, 'диаметр пучка от положения линз F2 и F3 относительно F1.', 'D, mm', 'z, mm', legend) elif (k == 2): for i, rhoi in enumerate(rho[-1][:]): if (abs(rhoi - D0 / 2) < .05e-2): i0 = i rho0 = rhoi print('l1 = ', l2[0][i0] * 100, ' l2 = ', (l2[0][i0] + l3[0][i0]) * 100, ' D = ', rho0 * 200) break print(time.clock() - start_time, "seconds")
l3 = f3 + (M * y1).focus() L3 = o.OptSpace(*n, l3) F3 = o.OptLens(*n, f3) opt2 = opt, L3, F3, L1 #print(q1) #print(q2) #legend = list(map(lambda y: 'rHr = ' + str(y * 1000) + 'mm', y)) # #o.grafX(x, q1.rho * 2e3, 'график 1', 'P, W', 'D, mm', legend) print(time.clock() - start_time, "seconds") #o.graf2d(x,y,q2.rho * 2e6, 'ris1', 'P, Вт', 'радиус зеркала, мм', 150, 200, 1000) #print (time.clock() - start_time, "seconds") z, rho = o.lineOpt(opt2, y1) if (1): legend = list( map( lambda y, l: 'L1 = ' + str(y) + 'mm' + ' L2 = ' + str(l * 100) + 'mm', y, l3[0])) o.grafX(z * 100, rho * 2e2, 'телеcкоп', 'z, mm', 'D, mm', legend) else: legend = "F1", "F2" l = list(map(lambda l2, l3: (l2 * 100, (l2 + l3) * 100), l2[0], l3[0])) o.grafX( rho[:][-1] * 200, l, 'диаметр пучка от положения линз F2 и F3 от F1. F1 = F-74x2, F2 = 30, F3 = -74', 'D, mm', 'z, mm', legend)