切換到寬版
  • 廣告投放
  • 稿件投遞
  • 繁體中文
    • 2617閱讀
    • 1回復

    [原創(chuàng)]參數(shù)優(yōu)化研究+光線追跡失敗校正:SYNOPSYS 光學設計軟件 [復制鏈接]

    上一主題 下一主題
    離線optics1210
     
    發(fā)帖
    476
    光幣
    317
    光券
    0
    只看樓主 倒序閱讀 樓主  發(fā)表于: 2018-09-13
    — 本帖被 cyqdesign 從 光學理論,設計與產業(yè)化 移動到本區(qū)(2018-12-29) —

    在本課中,我們將探索一個功能強大但很少使用的SYNOPSYS功能:它可以進行參數(shù)研究,顯示兩個變量對第三個變量的影響。在這種情況下,我們希望了解鏡頭優(yōu)化運行的結果如何取決于初始結構。 在一個理想的設計中,每一個起點都將達到最佳可能的最佳狀態(tài),但現(xiàn)實并不如此。 對于任何給定的問題,通常存在許多局部最小值,并且我們可以期望的最好的優(yōu)化算法應該可靠地到達最接近的算法。 (當然有所謂的全局優(yōu)化算法,例如DSEARCH,這和局部優(yōu)化算法不同。在這里,我們將分析從給定初始結構開始到優(yōu)化評價函數(shù)的過程。)

    因此,人們會期望兩個幾乎完全相同的初始結構將達到相同的局部最小值,即使它不是全局的。 當前算法在此優(yōu)化上的表現(xiàn)如何? TU Delft的Florian Bociort博士發(fā)現(xiàn)了一些非常有趣的結果。 他做了一個很簡單的例子,如下圖所示。

    為了使工作變得非常簡單,他只在主波長的三個視場點校正了光線,忽略了邊緣誤差。 然后,他以曲率半徑2和曲率半徑3的起始值為變量做柵格,并繪制一個圖,其中網(wǎng)格上每個像素的顏色編碼評價函數(shù)的最終值。 他發(fā)現(xiàn)有幾個局部最小值,即使對于如此簡單的問題也不足為奇 - 但完全出乎意料的是,在許多地方,評價函數(shù)以非常混亂的方式變化。 因此,附近的起點經常會到達截然不同的終點。 (他在Code-V上做了這個分析。)這是他在 http://homepage.tudelft.nl/q1d90/FBweb/fractals.html 上的文章中的一個圖解。

    (我們將這張照片放在了一邊,以便它與下面的SYNOPSYS分析一致。)

    注意吸邊界附近的結果是非常復雜和混亂的。 黑色區(qū)域顯示出光線光線失效的起點,因此無法進行分析。

    我們認為SYNOPSYS中的PSD算法比上面使用的方法更可靠和穩(wěn)定,因此我們在3參數(shù)評估功能PA3上設置了運行。 這是輸入:

        Starting doublet:

        RLE

        ID FLORIAN STARTING DOUBLET

        WA1 .5876000

         WT1 1.00000

         APS               1

         UNITS MM

         OBB  0.000000    3.00000   16.66670    0.00000    0.00000    0.00000   16.66670    0 AIR

           1 CV      0.0146498673770   TH     10.34600000

           1 N1 1.61800000

        1    GID 'GLASS           '

        2    RAD   -174.6512432672814   TH      1.00000000 AIR

        2    AIR

        3    RAD    -80.2251653581521   TH      2.35100000

           3 N1 1.71700000

        3    GID 'GLASS           '

        4    RAD   -111.8857786363961   TH     92.41206276 AIR

           4 AIR

           4 CV      -0.00893769

           4 UMC     -0.16667000

           4 TH      92.41206276

        4    YMT      0.00000000

        5    CV      0.0000000000000   TH      0.00000000 AIR

           5 AIR

         END

        STORE 5

        And this is the input for the PA3 program):

        ON 78           ! use finer grid (118x118 points) 使用更精細的網(wǎng)格(118x118點)

        PA3 LOOP COLOR          ! initialize PA3, request color boxes for output初始化PA3,設置輸出顏色框

        RZ1 -.025 .04          ! set the range of variable Z1設置變量Z1的范圍

        RZ2 -.045 .075          ! set the range of Z2設置Z2的范圍

        RZ3 0 5.5      ! display results over this range of merit function values

            在此評價函數(shù)值范圍內顯示結果

        NOSMOOTH               ! there will be steps in the output; do not smooth

        按步輸出; 結果不會很平滑

        XLAB "2 CV -.025 .04" ! define the label for the X-axis, which is variable Z1

                                 定義X軸的標簽,即變量Z1

        YLAB "3 CV -.045 .075" ! label for Y-axis, Z2 Y軸,Z2的標簽

        ZLAB "MERIT"          ! label for Z-axis, the final merit function Z軸的標簽,最終的評價函數(shù)

        LOOP

             ! tell PA3 to loop over the above raster of data告訴PA3循環(huán)上面的數(shù)據(jù)柵格

        GET 5           ! get the starting lens each time每次都得到初始結構的始鏡頭

        2 CV = Z1      ! set curvature 2 to the value of variable Z1將曲率2設置為變量Z1的值

        3 CV = Z2      ! and CV 3 to Z2, using the artificial-intelligence parser

            CV 3到Z2,使用人工智能解析器

        PANT           ! initialize the variable list初始化變量列表

        VLIST RAD 2 3     ! and vary two radii 兩個不同的半徑

        END

             ! end of the variable list 變量列表的結尾

        AANT           ! initialize the merit function definition初始化評價函數(shù)定義

        GSR .5 10 3 P 0       ! correct a sagittal fan, three rays, on axis 在軸上修正一個光扇圖,三條光光線

        GNR .5 1 3 P .75       ! correct a full grid of rays, primary color, 0.75 field point

                                            校正完整的光線網(wǎng)格,原色,0.75視場點

                GNR .5 1 3 P 1       ! same, at full field. 全區(qū)域相同

        END           ! end of merit function definition 評價函數(shù)定義結束

        DAMP 10000      ! initial damping (see below) 初始阻尼(見下文)

        SNAP 50               ! watch what happens, but not too often, in order to keep it fast

                                                                       觀察發(fā)生狀況,但不要太頻繁,以保持高效

        SYNOPSYS 100           ! optimize until it converges  優(yōu)化到收斂

        Z3 = MERIT      ! assign the current merit function value to variable Z3 PA3      告訴PA3循環(huán)到下一個案例。

            ! tell PA3 to cycle to the next case. 告訴PA3循環(huán)到下一個案例。

    為什么高阻尼? (默認值為1.0或0.01,具體取決于模式切換。)SYNOPSYS中的第一次迭代是用DLS(阻尼 - 最小二乘法)循環(huán)法,我們希望避免在該算法的第一次傳遞時產生的任何混亂; 高阻尼將確保鏡頭在該過程中變化很小。 更強大的PSD算法追跡從傳遞到傳遞的一階導數(shù)的變化,并推導出關于高階導數(shù)的信息。 這是PSD方法背后的技巧,但它只能在第二遍開始。

    該研究的結果如下所示。 左側和底部附近的紫色區(qū)域顯示該程序在不同的初始點上達到相同的最小值 - 而在Florian的研究中,這些區(qū)域達到了不同的最小值。 在相交的邊界沒有明顯的混亂,正如我們所期望的那樣,PSD方法就是這種情況,盡管在中央綠色區(qū)域出現(xiàn)了散亂的極點。 我們將后者歸因于第一遍中DLS方法所做的非零更改。 實際上,如果我們用不同的初始阻尼再次運行,那些隨機點出現(xiàn)在不同的地方。

    頂部和底部的黑色區(qū)域顯示了起點產生光線失效的位置,與他們在Florian研究中所做的相同。 我們很好奇如果我們激活僅在SYNOPSYS™中發(fā)現(xiàn)的自動光線故障校正功能會發(fā)生什么。 我們將SYNOPSYS命令更改為

        SYNOPSYS 100 0 FIX

    并重新運行這份工作

    現(xiàn)在我們看到該程序已經糾正了之前發(fā)生過的每一個故障。Florian無法優(yōu)化的初始鏡頭現(xiàn)在都能產生可觀的解決方案。 現(xiàn)在,在以前全黑的區(qū)域的邊界處有一些非常輕微的混亂,我們將其歸因于更改了光線失效校正程序對該起點的影響。 這些變化有時會使鏡頭更接近另一個相交的區(qū)域。

    這項非常簡單的研究只涉及兩個變量的優(yōu)化。 如果我們將CV 1添加到變量列表會發(fā)生什么?

    試試看吧。ㄟ吔缬行┢,散亂的斑點不再出現(xiàn)。)

    詳情請咨詢:sales@asdoptics.com    027-87582688

    [ 此帖被optics1210在2019-01-20 12:18重新編輯 ]
     
    分享到
    離線optics1210
    發(fā)帖
    476
    光幣
    317
    光券
    0
    只看該作者 1樓 發(fā)表于: 2019-01-20
    PSD的優(yōu)化算法,加上光線失敗校正功能,為設計師提供快速設計的可能。 =|WV^0=S'%