Zemax OpticStudio中如何輸入Grid Sag面型中的數(shù)據(jù)
概要
本文介紹了Zemax OpticStudio如何定義網(wǎng)格矢高(Grid Sag)面型并展示了如何正確輸入網(wǎng)格矢高數(shù)據(jù)。本文的示例文件請?jiān)谝韵骆溄又邢螺d:
http://forum.zemax.com/Attachment1571.aspx
http://forum.zemax.com/Attachment1572.aspx
介紹
Grid Sag面型是基于一些基礎(chǔ)面型并通過在這些面型上添加矩形相對矢高陣列來定義的,這些基礎(chǔ)面型包括平面、球面、圓錐非球面、多項(xiàng)式非球面或澤尼克非球面。通過網(wǎng)格點(diǎn)陣定義的矢高值可相對于基礎(chǔ)非球面矢高存在一定偏心。表面形狀是通過對網(wǎng)格矢高參數(shù)進(jìn)行線性插值或雙三次樣條插值擬合來定義的。有關(guān)矢高定義的更多信息,請參考幫助文檔“網(wǎng)格矢高(Grid Sag)”。
輸入網(wǎng)格數(shù)據(jù)
網(wǎng)格點(diǎn)的所有數(shù)據(jù)必須在Zemax OpticStudio之外進(jìn)行制表和計(jì)算,其數(shù)據(jù)格式必須存儲在特定格式的文件中,并在表面屬性中的導(dǎo)入(Import)菜單欄中加載這個(gè)文件才能正確導(dǎo)入網(wǎng)格矢高面。Zemax OpticStudio讀取的文件數(shù)據(jù)格式為:

其中第一行包含七個(gè)參數(shù),其中nx和ny(整數(shù))為每個(gè)方向上網(wǎng)格點(diǎn)的數(shù)量且nx和ny必須大于等于5;unitflag為數(shù)據(jù)的單位,0表示毫米,1表示厘米,2表示英寸,3表示米;delx和dely(浮點(diǎn)數(shù))為網(wǎng)格點(diǎn)陣在x和y方向上的間距;xdec和ydec(浮點(diǎn)數(shù))為坐標(biāo)偏移量(可選項(xiàng))。
剩下的nx*ny行的數(shù)據(jù)每行都包括四個(gè)浮點(diǎn)數(shù)和一個(gè)整數(shù)(可選項(xiàng))。其中四個(gè)浮點(diǎn)數(shù)分別為Z矢高;矢高在X方向的導(dǎo)數(shù);矢高在Y方向的導(dǎo)數(shù);矢高的交叉導(dǎo)數(shù)d/dxdy。第五個(gè)可選數(shù)據(jù)nodata用來表示之前的數(shù)據(jù)是否有效,0或空行表示有效的數(shù)據(jù),其他整數(shù)表示無效數(shù)據(jù)。當(dāng)nodata為其他時(shí),整行的數(shù)據(jù)將被替換為0,并且計(jì)算只考慮基礎(chǔ)面的矢高值。如果輸入的數(shù)據(jù)不是數(shù)字,則系統(tǒng)默認(rèn)將該數(shù)據(jù)替換為零。
第一行的數(shù)據(jù)對應(yīng)網(wǎng)格中左上角的點(diǎn)(沿-Z軸方向看去),即-X和+Y點(diǎn)。隨后的數(shù)據(jù)將從左至右定義這一行的點(diǎn)。定義完一行以后,將順次定義下一行(ny-1)的點(diǎn)直到所有的點(diǎn)都被定義。數(shù)據(jù)必須存儲為ASCII格式并且以.DAT為擴(kuò)展名(如果用于非序列模式,則擴(kuò)展名為.GRD)。
各項(xiàng)導(dǎo)數(shù)值用于雙三次樣條曲線插值算法中,用作不同矢高數(shù)據(jù)點(diǎn)之間的平滑處理。線性插值算法不會使用這些參數(shù)。如果所有導(dǎo)數(shù)值(dz/dx,dz/dy,d2z/dxdy)為零或沒有輸入,則Zemax OpticStudio將使用有線差分算法(Finite difference method)自動評估導(dǎo)數(shù)。
本文使用的示例文件SAG.DAT,數(shù)據(jù)格式如下圖所示:

雙三次樣條曲線插值算法br
與線性插值算法的比較
表面上任意點(diǎn)的矢高擬合可以用兩種方法中的任意一種進(jìn)行計(jì)算。雙三次樣條算法是默認(rèn)算法,它同時(shí)對矢高及其一階導(dǎo)進(jìn)行插值計(jì)算并提供了更加平滑的結(jié)果。為獲得合理平滑數(shù)據(jù),首選雙三次樣條算法。但對于偽隨機(jī)形式的數(shù)據(jù)或波動較大的數(shù)據(jù),雙三次樣條算法可能會得到非常極端的結(jié)果,這就意味著面數(shù)據(jù)的插值可能生成遠(yuǎn)離網(wǎng)格點(diǎn)的矢高值。對于這種情況,線性插值算法則會的到更加合理的結(jié)果。雙三次樣條或線性插值的選擇作為一個(gè)參數(shù)可由用戶選擇。
使用Grid Sag面型
對于樣條曲線的限制的重要信息請參考“樣條曲線表面的備注(Comments about spline surface)”。在Zemax OpticStudio中網(wǎng)格矢高表面(Grid Sag Surface)的參數(shù)定義形式為:

首先將表面類型設(shè)置為網(wǎng)格矢高(Grid Sag),注意在本例中我們使用雙三次樣條曲線插值算法,因此插值類型設(shè)置為0,如下圖所示:

然后打開網(wǎng)格時(shí)高面的表面屬性菜單,單擊導(dǎo)入(Import)選項(xiàng)卡。再導(dǎo)入數(shù)據(jù)文件選擇框中選擇對應(yīng)的網(wǎng)格矢高數(shù)據(jù)文件。單擊導(dǎo)入完成網(wǎng)格矢高的數(shù)據(jù)輸入。如下圖所示:

數(shù)據(jù)將直接存儲在內(nèi)存中而不會顯示在鏡頭數(shù)據(jù)編輯器中。這是因?yàn)樾枰@示的數(shù)據(jù)量有可能會非常龐大。網(wǎng)格文件被導(dǎo)入后,用戶可以通過表面數(shù)據(jù)報(bào)告(Surface Data Report)來查看導(dǎo)入的數(shù)據(jù),如下圖所示:

同時(shí),網(wǎng)格數(shù)據(jù)將一直保存在內(nèi)存之中,Zemax OpticStudio在進(jìn)行計(jì)算時(shí)將忽略原有的.DAT文件。如果需數(shù)據(jù)被改變,則用戶需要重新在表面屬性中導(dǎo)入更改后的.DAT文件。最終生成的網(wǎng)格矢高面如下圖所示:

網(wǎng)格矢高面的幾點(diǎn)使用建議
Zemax OpticStudio使用頂點(diǎn)的曲率半徑、非球面系數(shù)和網(wǎng)格點(diǎn)數(shù)據(jù)來計(jì)算網(wǎng)格矢高面的近軸光焦度。
網(wǎng)格的尺寸只受限于可用內(nèi)存的大小。每個(gè)網(wǎng)格點(diǎn)需要4個(gè)8比特的雙精度數(shù)據(jù)和1個(gè)1比特值的存儲空間。一個(gè)255x255點(diǎn)陣的網(wǎng)格文件大約需要2Mb的內(nèi)存。
雙三次樣條插值算法平滑至三階導(dǎo),它得到的結(jié)果在格點(diǎn)上有精確值且不需要很大的網(wǎng)格文件就能得到很平滑的表面面型,但不能準(zhǔn)確地模擬更高階的非球面。
網(wǎng)格矢高表面沒有定義網(wǎng)格邊界之外的部分時(shí),光線追跡到網(wǎng)格表面之外將被視為光線丟失錯(cuò)誤。在定義表面時(shí),將表面區(qū)域定義為比光線照射部分尺寸更大的面可以有效避免這一錯(cuò)誤。特別是不要將網(wǎng)格大小定義為與與光線照射區(qū)域相同的尺寸,否則光線追跡到網(wǎng)格表面邊緣時(shí)有可能不會再繼續(xù)追跡。
當(dāng)使用網(wǎng)格矢高表面模擬表面極度彎曲的光學(xué)器件時(shí),用戶最好將基礎(chǔ)面定義為相近的面型,再在此基礎(chǔ)上定義相對矢高,而不是直接用網(wǎng)格矢高面定義整個(gè)面型。
目前而言,Zemax OpticStudio無法直接對網(wǎng)格數(shù)據(jù)進(jìn)行優(yōu)化或公差分析。