Beispiel #1
0
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)
Beispiel #2
0
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)