» Программы для разработки, тестирования, оптических систем
Цитата:
в одной классической книге (к сожалению не помню название и автора) было написано что оптимизация с этими углами работает лучше чем с радиусами по причине...которую я тоже забыл)
Насколько я знаю, была в свое время статья, среди авторов которой был А.П.Грамматин. В статье, если мне не изменяет память, говорилось, что оптимизация углами первого параксиального луча идет заметно быстрее (это на тех машинах, в те годы), второе преимущество - что удобно сохранять некоторые условия: например, параллельный ход лучей между компонентами внутри системы, апланатичность поверхностей и т.п.
Возможно, речь идет о справочнике "Вычислительная оптика", где главу об оптимизации писал как раз Грамматин.
"Непосредственное использование r_i в качестве коррекционных параметров нерационально, т.к. при r_i= бесконечности производные от корригируемых функций по r_i обращаются в 0, в результате чего данный радиус перестает изменяться, а следовательно быть коррекционным параметром."
"Однако на практике использование а_i в качестве коррекционных параметров является предпочтительным и дает лучшие результаты чем использование p_i."
как то так)
Цитата:
я их пишу
paparazzo, а можете привести примеры ваших макросов?)
Цитата:
paparazzo, а можете привести примеры ваших макросов?)
К сожалению нет...
Те что писал по заказу - запрещено показывать еще 3 года.
Те что для себя - для расчета осветителей и т.п., слишком специфичны.
Редактор - ConText Editor, он понимает команды zpl и выделяет разным цветом
Но могу лично для вас написать
Добавлено:
хотя вот, попроще
Код: !
INPUT "Введите номер объекта ", obj
INPUT "Введите новое количество точек (от 3 до 40) ", Nnew
INPUT "Enter parameter # start", STRT_PAR
STRT_PAR=STRT_PAR-1
INPUT "Enter initial points number", Nold
dummy = NPRO(1, obj, 1, 0)
a$ = $buffer()
!Nold=NPAR(1,obj,4) #старые точки
length=NPAR(1,obj,6) #длина
DECLARE xa,DOUBLE,1,Nold+1
DECLARE bz, DOUBLE,1,40
FOR i,1,Nold,1
xa(i)=NPAR(1,obj,i+STRT_PAR)
PRINT xa(i)
NEXT i
PAUSE
IF (Nold == 3)
bz(1) = 1
bz(2) = 2
bz(3) = 1
ENDIF
IF (Nold == 4)
bz(1) = 1
bz(2) = 3
bz(3) = 3
bz(4) = 1
ENDIF
IF (Nold == 5)
bz(1) = 1
bz(2) = 4
bz(3) = 6
bz(4) = 4
bz(5) = 1
ENDIF
IF (Nold == 6)
bz(1) = 1
bz(2) = 5
bz(3) = 10
bz(4) = 10
bz(5) = 5
bz(6) = 1
ENDIF
IF (Nold == 7)
bz(1) = 1
bz(2) = 6
bz(3) = 15
bz(4) = 20
bz(5) = 15
bz(6) = 6
bz(7) = 1
ENDIF
IF (Nold == 8)
bz(1) = 1
bz(2) = 7
bz(3) = 21
bz(4) = 35
bz(5) = 35
bz(6) = 21
bz(7) = 7
bz(8) = 1
ENDIF
IF (Nold == 9)
bz(1) = 1
bz(2) = 8
bz(3) = 28
bz(4) = 56
bz(5) = 70
bz(6) = 56
bz(7) = 28
bz(8) = 8
bz(9) = 1
ENDIF
IF (Nold == 10)
bz(1) = 1
bz(2) = 9
bz(3) = 36
bz(4) = 84
bz(5) = 126
bz(6) = 126
bz(7) = 84
bz(8) = 36
bz(9) = 9
bz(10) = 1
ENDIF
IF (Nold == 11)
bz(1) = 1
bz(2) = 10
bz(3) = 45
bz(4) = 120
bz(5) = 210
bz(6) = 252
bz(7) = 210
bz(8) = 120
bz(9) = 45
bz(10) = 10
bz(11) = 1
ENDIF
IF (Nold == 12)
bz(1) = 1
bz(2) = 11
bz(3) = 55
bz(4) = 165
bz(5) = 330
bz(6) = 462
bz(7) = 462
bz(8) = 330
bz(9) = 165
bz(10) = 55
bz(11) = 11 bz(12) = 1
ENDIF
IF (Nold == 13)
bz(1) = 1
bz(2) = 12
bz(3) = 66
bz(4) = 220
bz(5) = 495
bz(6) = 792
bz(7) = 924
bz(8) = 792
bz(9) = 495
bz(10) = 220
bz(11) = 66
bz(12) = 12
bz(13) = 1
ENDIF
IF (Nold == 14)
bz(1)=1
bz(2)=13
bz(3)=78
bz(4)=286
bz(5)=715
bz(6)=1287
bz(7)=1716
bz(14)=1
bz(13)=13
bz(12)=78
bz(11)=286
bz(10)=715
bz(9)=1287
bz(8)=1716
ENDIF
IF (Nold == 15)
bz(1)=1
bz(2)=14
bz(3)=91
bz(4)=364
bz(5)=1001
bz(6)=2002
bz(7)=3003
bz(15)=1
bz(14)=14
bz(13)=91
bz(12)=364
bz(11)=1001
bz(10)=2002
bz(9)=3003
bz(8)=3432
ENDIF
IF (Nold == 16)
bz(1)=1
bz(2)=15
bz(3)=105
bz(4)=455
bz(5)=1365
bz(6)=3003
bz(7)=5005
bz(8)=6435
bz(16)=1
bz(15)=15
bz(14)=105
bz(13)=455
bz(12)=1365
bz(11)=3003
bz(10)=5005
bz(9)=6435
ENDIF
IF (Nold == 17)
bz(1)=1
bz(2)=16
bz(3)=120
bz(4)=560
bz(5)=1820
bz(6)=4368
bz(7)=8008
bz(8)=11440
bz(9)=12870
bz(17)=1
bz(16)=16
bz(15)=120
bz(14)=560
bz(13)=1820
bz(12)=4368
bz(11)=8008
bz(10)=11440
ENDIF
IF (Nold == 18)
bz(1)=1
bz(2)=17
bz(3)=136
bz(4)=680
bz(5)=2380
bz(6)=6188
bz(7)=12376
bz(8)=19448
bz(9)=24310
bz(18)=1
bz(17)=17
bz(16)=136
bz(15)=680
bz(14)=2380
bz(13)=6188
bz(12)=12376
bz(11)=19448
bz(10)=24310
ENDIF
IF (Nold == 19)
bz(1)=1
bz(2)=18
bz(3)=153
bz(4)=816
bz(5)=3060
bz(6)=8568
bz(7)=18564
bz(8)=31824
bz(9)=43758
bz(10)=48620
bz(19)=1
bz(18)=18
bz(17)=153
bz(16)=816
bz(15)=3060
bz(14)=8568
bz(13)=18564
bz(12)=31824
bz(11)=43758
ENDIF
IF (Nold == 20)
bz(1)=1
bz(2)=19
bz(3)=171
bz(4)=969
bz(5)=3876
bz(6)=11628
bz(7)=27132
bz(8)=50388
bz(9)=75582
bz(10)=92378
bz(20)=1
bz(19)=19
bz(18)=171
bz(17)=969
bz(16)=3876
bz(15)=11628
bz(14)=27132
bz(13)=50388
bz(12)=75582
bz(11)=92378
ENDIF
IF (Nold == 21)
bz(1)=1
bz(2)=20
bz(3)=190
bz(4)=1140
bz(5)=4845
bz(6)=15504
bz(7)=38760
bz(8)=77520
bz(9)=125970
bz(10)=167960
bz(21)=1
bz(20)=20
bz(19)=190
bz(18)=1140
bz(17)=4845
bz(16)=15504
bz(15)=38760
bz(14)=77520
bz(13)=125970
bz(12)=167960
bz(11)=184756
ENDIF
PRINT "Pass 21"
IF (Nold == 22)
bz(1)=1
bz(2)=21
bz(3)=210
bz(4)=1330
bz(5)=5985
bz(6)=20349
bz(7)=54264
bz(8)=116280
bz(9)=203490
bz(10)=293930
bz(11)=352716
bz(22)=1
bz(21)=21
bz(20)=210
bz(19)=1330
bz(18)=5985
bz(17)=20349
bz(16)=54264
bz(15)=116280
bz(14)=203490
bz(13)=293930
bz(12)=352716
ENDIF
IF (Nold == 23)
bz(1)=1
bz(2)=22
bz(3)=231
bz(4)=1540
bz(5)=7315
bz(6)=26334
bz(7)=74613
bz(8)=170544
bz(9)=319770
bz(10)=497420
bz(11)=646646
bz(23)=1
bz(22)=22
bz(21)=231
bz(20)=1540
bz(19)=7315
bz(18)=26334
bz(17)=74613
bz(16)=170544
bz(15)=319770
bz(14)=497420
bz(13)=646646
bz(12)=705432
ENDIF
IF (Nold == 24)
bz(1)=1
bz(2)=23
bz(3)=253
bz(4)=1771
bz(5)=8855
bz(6)=33649
bz(7)=100947
bz(8)=245157
bz(9)=490314
bz(10)=817190
bz(11)=1144066
bz(12)=1352078
bz(24)=1
bz(23)=23
bz(22)=253
bz(21)=1771
bz(20)=8855
bz(19)=33649
bz(18)=100947
bz(17)=245157
bz(16)=490314
bz(15)=817190
bz(14)=1144066
bz(13)=1352078
ENDIF
IF (Nold == 25)
bz(1)=1
bz(2)=24
bz(3)=276
bz(4)=2024
bz(5)=10626
bz(6)=42504
bz(7)=134596
bz(8)=346104
bz(9)=735471
bz(10)=1307504
bz(11)=1961256
bz(12)=2496144
bz(25)=1
bz(24)=24
bz(23)=276
bz(22)=2024
bz(21)=10626
bz(20)=42504
bz(19)=134596
bz(18)=346104
bz(17)=735471
bz(16)=1307504
bz(15)=1961256
bz(14)=2496144
bz(13)=2704156
ENDIF
IF (Nold == 26)
bz(1)=1
bz(2)=25
bz(3)=300
bz(4)=2300
bz(5)=12650
bz(6)=53130
bz(7)=177100
bz(8)=480700
bz(9)=1081575
bz(10)=2042975
bz(11)=3268760
bz(12)=4457400
bz(13)=5200300
bz(26)=1
bz(25)=25
bz(24)=300
bz(23)=2300
bz(22)=12560
bz(21)=53130
bz(20)=177100
bz(19)=480700
bz(18)=1081575
bz(17)=2042975
bz(16)=3268760
bz(15)=4457400
bz(14)=5200300
ENDIF
IF (Nold == 27)
bz(1)=1
bz(2)=26
bz(3)=325
bz(4)=2600
bz(5)=14950
bz(6)=65780
bz(7)=230230
bz(8)=657800
bz(9)=1562275
bz(10)=3124550
bz(11)=5311735
bz(12)=7726160
bz(13)=9657700
bz(27)=1
bz(26)=26
bz(25)=325
bz(24)=2600
bz(23)=14950
bz(22)=65780
bz(21)=230230
bz(20)=657800
bz(19)=1562275
bz(18)=3124550
bz(17)=5311735
bz(16)=7726160
bz(15)=9657700
bz(14)=10400600
ENDIF
IF (Nold == 28)
bz(1)=1
bz(2)=27
bz(3)=351
bz(4)=2925
bz(5)=17550
bz(6)=80730
bz(7)=296010
bz(8)=888030
bz(9)=2220075
bz(10)=4686825
bz(11)=8436285
bz(12)=13037895
bz(13)=17383860
bz(14)=20058300
bz(28)=1
bz(27)=27
bz(26)=351
bz(25)=2925
bz(24)=17550
bz(23)=80730
bz(22)=296010
bz(21)=888030
bz(20)=2220075
bz(19)=4686825
bz(18)=8436285
bz(17)=13037895
bz(16)=17383860
bz(15)=20058300
ENDIF
IF (Nold == 29)
bz(1)=1
bz(2)=28
bz(3)=378
bz(4)=3276
bz(5)=20475
bz(6)=98280
bz(7)=376740
bz(8)=1184040
bz(9)=3108105
bz(10)=6906900
bz(11)=13123110
bz(12)=21474180
bz(13)=30421755
bz(14)=37442160
bz(29)=1
bz(28)=28
bz(27)=378
bz(26)=3276
bz(25)=20475
bz(24)=98280
bz(23)=376740
bz(22)=1184040
bz(21)=3108105
bz(20)=6906900
bz(19)=13123110
bz(18)=21474180
bz(17)=30421755
bz(16)=37442160
bz(15)=40116600
ENDIF
IF (Nold == 30)
bz(1)=1
bz(2)=29
bz(3)=406
bz(4)=3654
bz(5)=23751
bz(6)=118755
bz(7)=475020
bz(8)=1560780
bz(9)=4292145
bz(10)=10015005
bz(11)=20030010
bz(12)=34597290
bz(13)=51895935
bz(14)=67863915
bz(15)=77558760
bz(30)=1
bz(29)=29
bz(28)=406
bz(27)=3654
bz(26)=23751
bz(25)=118755
bz(24)=475020
bz(23)=1560780
bz(22)=4292145
bz(21)=10015005
bz(20)=20030010
bz(19)=34597290
bz(18)=51895935
bz(17)=67863915
bz(16)=77558760
ENDIF
IF (Nold == 31)
bz(1) = 1
bz(2) = 30
bz(3) = 435
bz(4) = 4060
bz(5) = 27405
bz(6) = 142506
bz(7) = 593775
bz(8) = 2035800
bz(9) = 5852925
bz(10) = 14307150
bz(11) = 30045015
bz(12) = 54627300
bz(13) = 86493225
bz(14) = 119759850
bz(15) = 145422675
bz(16) = 155117520
bz(17) = 145422675
bz(18) = 119759850
bz(19) = 86493225
bz(20) = 54627300
bz(21) = 30045015
bz(22) = 14307150
bz(23) = 5852925
bz(24) = 2035800
bz(25) = 593775
bz(26) = 142506
bz(27) = 27405
bz(28) = 4060
bz(29) = 435
bz(30) = 30
bz(31) = 1
ENDIF
IF (Nold == 32)
bz(1) = 1
bz(2) = 31
bz(3) = 465
bz(4) = 4495
bz(5) = 31465
bz(6) = 169911
bz(7) = 736281
bz(8) = 2629575
bz(9) = 7888725
bz(10) = 20160075
bz(11) = 44352165
bz(12) = 84672315
bz(13) = 141120525
bz(14) = 206253075
bz(15) = 265182525
bz(16) = 300540195
bz(17) = 300540195
bz(18) = 265182525
bz(19) = 206253075
bz(20) = 141120525
bz(21) = 84672315
bz(22) = 44352165
bz(23) = 20160075
bz(24) = 7888725
bz(25) = 2629575
bz(26) = 736281
bz(27) = 169911
bz(28) = 31465
bz(29) = 4495
bz(30) = 465
bz(31) = 31
bz(32) = 1
ENDIF
IF (Nold == 33)
bz(1) = 1
bz(2) = 32
bz(3) = 496
bz(4) = 4960
bz(5) = 35960
bz(6) = 201376
bz(7) = 906192
bz(8) = 3365856
bz(9) = 10518300
bz(10) = 28048800
bz(11) = 64512240
bz(12) = 129024480
bz(13) = 225792840
bz(14) = 347373600
bz(15) = 471435600
bz(16) = 565722720
bz(17) = 601080390
bz(18) = 565722720
bz(19) = 471435600
bz(20) = 347373600
bz(21) = 225792840
bz(22) = 129024480
bz(23) = 64512240
bz(24) = 28048800
bz(25) = 10518300
bz(26) = 3365856
bz(27) = 906192
bz(28) = 201376
bz(29) = 35960
bz(30) = 4960
bz(31) = 496
bz(32) = 32
bz(33) = 1
ENDIF
IF (Nold == 34)
bz(1) = 1
bz(2) = 33
bz(3) = 528
bz(4) = 5456
bz(5) = 40920
bz(6) = 237336
bz(7) = 1107568
bz(8) = 4272048
bz(9) = 13884156
bz(10) = 38567100
bz(11) = 92561040
bz(12) = 193536720
bz(13) = 354817320
bz(14) = 573166440
bz(15) = 818809200
bz(16) = 1037158320
bz(17) = 1166803110
bz(18) = 1166803110
bz(19) = 1037158320
bz(20) = 818809200
bz(21) = 573166440
bz(22) = 354817320
bz(23) = 193536720
bz(24) = 92561040
bz(25) = 38567100
bz(26) = 13884156
bz(27) = 4272048
bz(28) = 1107568
bz(29) = 237336
bz(30) = 40920
bz(31) = 5456
bz(32) = 528
bz(33) = 33
bz(34) = 1
ENDIF
IF (Nold == 35)
bz(1) = 1
bz(2) = 34
bz(3) = 561
bz(4) = 5984
bz(5) = 46376
bz(6) = 278256
bz(7) = 1344904
bz(8) = 5379616
bz(9) = 18156204
bz(10) = 52451256
bz(11) = 131128140
bz(12) = 286097760
bz(13) = 548354040
bz(14) = 927983760
bz(15) = 1391975640
bz(16) = 1855967520
bz(17) = 2203961430
bz(18) = 2333606220
bz(19) = 2203961430
bz(20) = 1855967520
bz(21) = 1391975640
bz(22) = 927983760
bz(23) = 548354040
bz(24) = 286097760
bz(25) = 131128140
bz(26) = 52451256
bz(27) = 18156204
bz(28) = 5379616
bz(29) = 1344904
bz(30) = 278256
bz(31) = 46376
bz(32) = 5984
bz(33) = 561
bz(34) = 34
bz(35) = 1
ENDIF
IF (Nold == 36)
bz(1) = 1
bz(2) = 35
bz(3) = 595
bz(4) = 6545
bz(5) = 52360
bz(6) = 324632
bz(7) = 1623160
bz(8) = 6724520
bz(9) = 23535820
bz(10) = 70607460
bz(11) = 183579396
bz(12) = 417225900
bz(13) = 834451800
bz(14) = 1476337800
bz(15) = 2319959400
bz(16) = 3247943160
bz(17) = 4059928950
bz(18) = 4537567650
bz(19) = 4537567650
bz(20) = 4059928950
bz(21) = 3247943160
bz(22) = 2319959400
bz(23) = 1476337800
bz(24) = 834451800
bz(25) = 417225900
bz(26) = 183579396
bz(27) = 70607460
bz(28) = 23535820
bz(29) = 6724520
bz(30) = 1623160
bz(31) = 324632
bz(32) = 52360
bz(33) = 6545
bz(34) = 595
bz(35) = 35
bz(36) = 1
ENDIF
IF (Nold == 37)
bz(1) = 1
bz(2) = 36
bz(3) = 630
bz(4) = 7140
bz(5) = 58905
bz(6) = 376992
bz(7) = 1947792
bz(8) = 8347680
bz(9) = 30260340
bz(10) = 94143280
bz(11) = 254186856
bz(12) = 600805296
bz(13) = 1251677700
bz(14) = 2310789600
bz(15) = 3796297200
bz(16) = 5567902560
bz(17) = 7307872110
bz(18) = 8597496600
bz(19) = 9075135300
bz(20) = 8597496600
bz(21) = 7307872110
bz(22) = 5567902560
bz(23) = 3796297200
bz(24) = 2310789600
bz(25) = 1251677700
bz(26) = 600805296
bz(27) = 254186856
bz(28) = 94143280
bz(29) = 30260340
bz(30) = 8347680
bz(31) = 1947792
bz(32) = 376992
bz(33) = 58905
bz(34) = 7140
bz(35) = 630
bz(36) = 36
bz(37) = 1
ENDIF
IF (Nold == 38)
bz(1) = 1
bz(2) = 37
bz(3) = 666
bz(4) = 7770
bz(5) = 66045
bz(6) = 435897
bz(7) = 2324784
bz(8) = 10295472
bz(9) = 38608020
bz(10) = 124403620
bz(11) = 348330136
bz(12) = 854992152
bz(13) = 1852482996
bz(14) = 3562467300
bz(15) = 6107086800
bz(16) = 9364199760
bz(17) = 12875774670
bz(18) = 15905368710
bz(19) = 17672631900
bz(20) = 17672631900
bz(21) = 15905368710
bz(22) = 12875774670
bz(23) = 9364199760
bz(24) = 6107086800
bz(25) = 3562467300
bz(26) = 1852482996
bz(27) = 854992152
bz(28) = 348330136
bz(29) = 124403620
bz(30) = 38608020
bz(31) = 10295472
bz(32) = 2324784
bz(33) = 435897
bz(34) = 66045
bz(35) = 7770
bz(36) = 666
bz(37) = 37
bz(38) = 1
ENDIF
IF (Nold == 39)
bz(1) = 1
bz(2) = 38
bz(3) = 703
bz(4) = 8436
bz(5) = 73815
bz(6) = 501942
bz(7) = 2760681
bz(8) = 12620256
bz(9) = 48903492
bz(10) = 163011640
bz(11) = 472733756
bz(12) = 1203322288
bz(13) = 2707475148
bz(14) = 5414950296
bz(15) = 9669554100
bz(16) = 15471286560
bz(17) = 22239974430
bz(18) = 28781143380
bz(19) = 33578000610
bz(20) = 35345263800
bz(21) = 33578000610
bz(22) = 28781143380
bz(23) = 22239974430
bz(24) = 15471286560
bz(25) = 9669554100
bz(26) = 5414950296
bz(27) = 2707475148
bz(28) = 1203322288
bz(29) = 472733756
bz(30) = 163011640
bz(31) = 48903492
bz(32) = 12620256
bz(33) = 2760681
bz(34) = 501942
bz(35) = 73815
bz(36) = 8436
bz(37) = 703
bz(38) = 38
bz(39) = 1
ENDIF
IF (Nold == 40)
bz(1) = 1
bz(2) = 39
bz(3) = 741
bz(4) = 9139
bz(5) = 82251
bz(6) = 575757
bz(7) = 3262623
bz(8) = 15380937
bz(9) = 61523748
bz(10) = 211915132
bz(11) = 635745396
bz(12) = 1676056044
bz(13) = 3910797436
bz(14) = 8122425444
bz(15) = 15084504396
bz(16) = 25140840660
bz(17) = 37711260990
bz(18) = 51021117810
bz(19) = 62359143990
bz(20) = 68923264410
bz(21) = 68923264410
bz(22) = 62359143990
bz(23) = 51021117810
bz(24) = 37711260990
bz(25) = 25140840660
bz(26) = 15084504396
bz(27) = 8122425444
bz(28) = 3910797436
bz(29) = 1676056044
bz(30) = 635745396
bz(31) = 211915132
bz(32) = 61523748
bz(33) = 15380937
bz(34) = 3262623
bz(35) = 575757
bz(36) = 82251
bz(37) = 9139
bz(38) = 741
bz(39) = 39
bz(40) = 1
ENDIF
interval=length/(Nnew-1)
FOR k,1,Nnew,1
xv=0
t=interval*(k-1)/length
FOR j,0,Nold-1,1
xv=xv+bz(j+1)*xa(j+1)*POWR(t,j)*POWR(1-t,Nold-j-1)
NEXT j
SETNSCPARAMETER 1, obj, STRT_PAR+k, xv
PRINT "Новая точка ", k, " ", xv
NEXT k
SETNSCPARAMETER 1, obj, 4, Nnew
LABEL 1
я имел ввиду для каких задач используете)
в данный момент плохо представить могу, чего земаксу не хватает)
т.е. у вас заказали один оптимизатор? без оптической системы? или вы при расчете его написали?
Цитата:
т.е. у вас заказали один оптимизатор? без оптической системы? или вы при расчете его написали?
Нет, оптимизатор не заказывали. Хотя можно реализовать, медленно считать будет.
Вообще есть функции не реализованные в Zemax, их хватает.
Но которые можно описать макросом.
Я пишу макросы для обслуживание своих UDO.
Цитата:
оптимизатор не заказывали
ой, макрос хотел написать)
а на каких системах вы специализируетесь?
Застрял на проблеме, просто туплю.....
При проектировании афокальной зум-системы никак не могу определиться с положением диафрагмы.
Суть в том, что размер входного зрачка тоже должен меняться.
Пока делаю вручную, выставляя стопы на разных поверхностях, всё работает.
Но как задать чтобы менялось одновременно?
Что даст задание апертур не автоматически, а вручную?
Цитата:
Коллеги!
Застрял на проблеме, просто туплю.....
Что мешает задать в multiconfig размер апертурной диафрагмы тоже переменным, т.е. сделать ирисовую диафрагму? Для определения положения диафрагмы я обычно ставлю ее первой поверхностью и делаю расстояние от диафрагмы до первой преломляющей поверхности системы как variable. После этого смотрю как изменяется положение входного зрачка, выставляю какое-то одно значение, провожу оптимизинг и если всё нормально - помещаю диафрагму внутрь системы, т.е. меняю местами зрачок и диафрагму. Вот примерно такой алгоритм
Цитата:
Что даст задание апертур не автоматически, а вручную?
Зачем задавать вручную то, что легко может быть посчитано автоматом?
Цитата:
Нет, оптимизатор не заказывали. Хотя можно реализовать, медленно считать будет.
Отнюдь... Для непоследовательных систем можно спокойно писать - считать будет ничуть не медленнее.
Цитата:
Отнюдь... Для непоследовательных систем можно спокойно писать - считать будет ничуть не медленнее.
Хм... Надо попробовать.
У меня просто ZPLM тормознуто работает. даже на простых операциях. В MeritFunction то же считается быстрееч
Нужна помощь.
Сейчас занимаюсь изучением литья полимерной оптики.
Для работы необходим пример оптического элемента.
Желательно конечно еще и чертеж. Но пока хотя бы модель.
Нужен любой объектив с использованием полимерного асферического элемента расчет которого выполнен в CODE V.
И вторичный оптический элемент freeform светодиодного освещения выполненный в lighttools.
Заранее благодарен
Вы же аспирант. У аспирантов задача думать и придумывать.
Практически алгоритм для расчета допусков использую следующий:
- грубый анализ, использование Invers Limit. Критерий, как правило - rms spot. Оптимизация - paraxial focus. Поля - X-Y symmetric
- полученные допуски округляются, выбирается критерий Sensitivity. Поля - User defined, критерий - spot. Оптимизация - по всем компенсаторам, только задавайте 5-7 циклов, а то не дождетесь результатов.
- Анализируем результат, допуски ужесточаем для тех параметров, которые сильно выбиваются. Повторяем при необходимости Sensitivity анализ
- Генерим Monte-Carlo файлы. Можно без оптимизации по компенсаторам, а можно с. Количество файлов - от системы, терпения и требований заказчика. Как правило от 50 до 100.
- Запускаем макрос который оптимизирует или фокусирует каждуй из Monte Carlo файлов по нужному критерию. Например максимальная MTF для точки на оси.
- Запускаем макрос, которыйц анализипует все Monte Carlo файлы и сводит результаты в таблицу. проверяем и вычисляем yield (выход готовых изделий, удовлетворяющих критерию качества). Если мало - ужесточаем допуски, вводим дополнительную юстировку (компенсатор) и все повторяем.
По моему опыту, использование критериев типа геометрической MTF - то же самое, что средняя температура по больнице. Поэтому пользуюсь rms Spot - с большим самплингом, иногда - bore sight error, когда это надо.
Вопросы?
Добавлено:
Цитата:
У меня просто ZPLM тормознуто работает. даже на простых операциях. В MeritFunction то же считается быстрееч
Кстати, у меня такая-же штука. Как добавляется макрос в Merit Function - скорость оптимизации резко падает.
Как бороться?
Цитата:
По моему опыту, использование критериев типа геометрической MTF - то же самое, что средняя температура по больнице.
Эт точно.
Я предпочитаю Штреля и RMS тоже.
Подскажите, пожалуйста :
Параболоид зеркальный, короткофокусный, радиус при вершине -1.5 мм, диаметр 10, предмет размером 1мм в фокусе параболоида, в последовательном режиме Zemax не считает, аберрации для внеосевых точек зашкаливают (кома огромнейшая). Либо надо делать очень небольшой предмет, чтобы увидеть. Оценить при этом, что будет хотя бы с пятном (поставив параксиальную линзу) не получилось.
В непоследовательном - все более-менее нормально, источник ламбертовский в фокусе параболоида, трассировка идет. Ставлю линзу к такой системе, пятно получается размытым, но не запредельно, потери обозримы.
Вопрос: чему верить? где истина?
Цитата:
Как правило от 50 до 100
Как-то мало. Где-то видел рекомендацию, что желательно N^2 систем
Цитата:
Как-то мало.
Возможно. Дело вкуса. Пробовали и большее количество, разница не существенная.
Вопрос, по-моему, в количестве поверхностей в системе.
Цитата:
Параболоид зеркальный, короткофокусный, радиус при вершине -1.5 мм, диаметр 10, предмет размером 1мм в фокусе параболоида, в последовательном режиме Zemax не считает, аберрации для внеосевых точек зашкаливают (кома огромнейшая). Либо надо делать очень небольшой предмет, чтобы увидеть. Оценить при этом, что будет хотя бы с пятном (поставив параксиальную линзу) не получилось.
В непоследовательном - все более-менее нормально, источник ламбертовский в фокусе параболоида, трассировка идет. Ставлю линзу к такой системе, пятно получается размытым, но не запредельно, потери обозримы.
Считать - считает. Вообще, мне кажется задавая подобные вопросы и надеясь получить ответ надо прикладывать zemax файлы. Так проще тем, кто готов тратить своё время чтобы помочь.
Цитата:
Кстати, у меня такая-же штука. Как добавляется макрос в Merit Function - скорость оптимизации резко падает.
Как бороться
Никак. Я говорил про алгоритмы оптимизации. Без проблем пишутся на ZPL и работают довольно-таки быстро. А вот макросы в MF - да, сплошные тормоза. Хотя иногда нет другого пути. Можно UDOP на С писать, работать будет побыстрее макросов.
Цитата:
- Запускаем макрос который оптимизирует или фокусирует каждуй из Monte Carlo файлов по нужному критерию. Например максимальная MTF для точки на оси.
- Запускаем макрос, которыйц анализипует все Monte Carlo файлы и сводит результаты в таблицу. проверяем и вычисляем yield (выход готовых изделий, удовлетворяющих критерию качества). Если мало - ужесточаем допуски, вводим дополнительную юстировку (компенсатор) и все повторяем.
Прежде, чем что-то запускать нужно что-то написать. В чём преимущество макроса для оптимизации файлов Monte Carlo перед Merit Function (время???). Ведь можно MF поставить как критерий при расчёте допусков. Не могли бы поделиться макросом для анализа Monte Carlo файлов (я подправлю для себя, заодно и получше разберусь в ZPL).
Цитата:
Не могли бы поделиться макросом
Где-то выше paparazo уже отвечал по поводу макросов. Как правило они специфичны, сделаны под определенные задачи и не пишуться для комерческого использования. Так что - вряд ли кто-то поделиться.
Вы просили алгоритм расчета - я вам его привел. Дальше сами.
насколько она полезной вам показалась?
У кого так было еще?
Цитата:
В новом Zemax (SP3) цифры налезают на детектор в окне Detector Viever.
От размера(соотношения сторон) окна это зависит?
Цитата:
От размера(соотношения сторон) окна это зависит?
Нет
при угловом поле 0гр. и по оси Х и по оси Y
Source Size =0, File - Circle, Smoothing =5, Rotation =0
Очень заметно при малом числе лучей, но даже при большом количестве они все равно не симметричны
система обычная центрированная без каких либо изысков)
или эта функция не подходит для точечных источников?
Есть SDF источник, задаю cbcntvyst единицы люмены. Ставлю Power=100
А на детекторе 180 примерно....
Причем не первый раз... Как его так колбасит?
Нужен инженер оптик (Мюнхен).
Писать в пм.
Цитата:
Товарищи, как вы считаете что "день завтрашний" готовит для расчетной оптики и как она будет развиваться в ближайшие десятилетия?)
Через двадцать лет будет версия Земакса, в которой нужно будет просто задать желаемые габариты системы и она через секунду выдаст готовую систему. Пользоваться им смогут и домохозяйки. Хих...
Думаю, что пока не будет дешёвых и быстрых станков, которые в автоматическом режиме будут делать асферику и FREEFORM поверхности из разных материалов, заодно с автоматическим контролем качества их поверхностей, то оптика будет на том уровне, на каком она сейчас и есть...
SiberianBird
Цитата:
Все еще актуально
Нужен инженер оптик (Мюнхен).
Писать в пм.
Интересно, а среди "немцев" уже нет оптиков? Или работодатель просто ищет гастарбайтеров исходя из того, что им можно будет платить в два и более раз меньше... В чём "соль"?
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378
Предыдущая тема: Maxthon 3.x - быстрый и мощный браузер
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.