Zemax OpticStudio中如何輸入Grid Sag面型中的數(shù)據(jù)

概要

本文介紹了Zemax OpticStudio如何定義網(wǎng)格矢高(Grid Sag)面型并展示了如何正確輸入網(wǎng)格矢高數(shù)據(jù)。本文的示例文件請在以下鏈接中下載:

http://forum.zemax.com/Attachment1571.aspx
http://forum.zemax.com/Attachment1572.aspx

介紹

Grid Sag面型是基于一些基礎(chǔ)面型并通過在這些面型上添加矩形相對矢高陣列來定義的,這些基礎(chǔ)面型包括平面、球面、圓錐非球面、多項式非球面或澤尼克非球面。通過網(wǎng)格點陣定義的矢高值可相對于基礎(chǔ)非球面矢高存在一定偏心。表面形狀是通過對網(wǎng)格矢高參數(shù)進行線性插值或雙三次樣條插值擬合來定義的。有關(guān)矢高定義的更多信息,請參考幫助文檔“網(wǎng)格矢高(Grid Sag)”。

輸入網(wǎng)格數(shù)據(jù)

網(wǎng)格點的所有數(shù)據(jù)必須在Zemax OpticStudio之外進行制表和計算,其數(shù)據(jù)格式必須存儲在特定格式的文件中,并在表面屬性中的導(dǎo)入(Import)菜單欄中加載這個文件才能正確導(dǎo)入網(wǎng)格矢高面。Zemax OpticStudio讀取的文件數(shù)據(jù)格式為:

其中第一行包含七個參數(shù),其中nx和ny(整數(shù))為每個方向上網(wǎng)格點的數(shù)量且nx和ny必須大于等于5;unitflag為數(shù)據(jù)的單位,0表示毫米,1表示厘米,2表示英寸,3表示米;delx和dely(浮點數(shù))為網(wǎng)格點陣在x和y方向上的間距;xdec和ydec(浮點數(shù))為坐標偏移量(可選項)。

剩下的nx*ny行的數(shù)據(jù)每行都包括四個浮點數(shù)和一個整數(shù)(可選項)。其中四個浮點數(shù)分別為Z矢高;矢高在X方向的導(dǎo)數(shù);矢高在Y方向的導(dǎo)數(shù);矢高的交叉導(dǎo)數(shù)d/dxdy。第五個可選數(shù)據(jù)nodata用來表示之前的數(shù)據(jù)是否有效,0或空行表示有效的數(shù)據(jù),其他整數(shù)表示無效數(shù)據(jù)。當(dāng)nodata為其他時,整行的數(shù)據(jù)將被替換為0,并且計算只考慮基礎(chǔ)面的矢高值。如果輸入的數(shù)據(jù)不是數(shù)字,則系統(tǒng)默認將該數(shù)據(jù)替換為零。

第一行的數(shù)據(jù)對應(yīng)網(wǎng)格中左上角的點(沿-Z軸方向看去),即-X和+Y點。隨后的數(shù)據(jù)將從左至右定義這一行的點。定義完一行以后,將順次定義下一行(ny-1)的點直到所有的點都被定義。數(shù)據(jù)必須存儲為ASCII格式并且以.DAT為擴展名(如果用于非序列模式,則擴展名為.GRD)。

各項導(dǎo)數(shù)值用于雙三次樣條曲線插值算法中,用作不同矢高數(shù)據(jù)點之間的平滑處理。線性插值算法不會使用這些參數(shù)。如果所有導(dǎo)數(shù)值(dz/dx,dz/dy,d2z/dxdy)為零或沒有輸入,則Zemax OpticStudio將使用有線差分算法(Finite difference method)自動評估導(dǎo)數(shù)。

本文使用的示例文件SAG.DAT,數(shù)據(jù)格式如下圖所示:

雙三次樣條曲線插值算法br
與線性插值算法的比較

表面上任意點的矢高擬合可以用兩種方法中的任意一種進行計算。雙三次樣條算法是默認算法,它同時對矢高及其一階導(dǎo)進行插值計算并提供了更加平滑的結(jié)果。為獲得合理平滑數(shù)據(jù),首選雙三次樣條算法。但對于偽隨機形式的數(shù)據(jù)或波動較大的數(shù)據(jù),雙三次樣條算法可能會得到非常極端的結(jié)果,這就意味著面數(shù)據(jù)的插值可能生成遠離網(wǎng)格點的矢高值。對于這種情況,線性插值算法則會的到更加合理的結(jié)果。雙三次樣條或線性插值的選擇作為一個參數(shù)可由用戶選擇。

使用Grid Sag面型

對于樣條曲線的限制的重要信息請參考“樣條曲線表面的備注(Comments about spline surface)”。在Zemax OpticStudio中網(wǎng)格矢高表面(Grid Sag Surface)的參數(shù)定義形式為:

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

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

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

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

網(wǎng)格矢高面的幾點使用建議

Zemax OpticStudio使用頂點的曲率半徑、非球面系數(shù)和網(wǎng)格點數(shù)據(jù)來計算網(wǎng)格矢高面的近軸光焦度。

網(wǎng)格的尺寸只受限于可用內(nèi)存的大小。每個網(wǎng)格點需要4個8比特的雙精度數(shù)據(jù)和1個1比特值的存儲空間。一個255x255點陣的網(wǎng)格文件大約需要2Mb的內(nèi)存。

雙三次樣條插值算法平滑至三階導(dǎo),它得到的結(jié)果在格點上有精確值且不需要很大的網(wǎng)格文件就能得到很平滑的表面面型,但不能準確地模擬更高階的非球面。

網(wǎng)格矢高表面沒有定義網(wǎng)格邊界之外的部分時,光線追跡到網(wǎng)格表面之外將被視為光線丟失錯誤。在定義表面時,將表面區(qū)域定義為比光線照射部分尺寸更大的面可以有效避免這一錯誤。特別是不要將網(wǎng)格大小定義為與與光線照射區(qū)域相同的尺寸,否則光線追跡到網(wǎng)格表面邊緣時有可能不會再繼續(xù)追跡。

當(dāng)使用網(wǎng)格矢高表面模擬表面極度彎曲的光學(xué)器件時,用戶最好將基礎(chǔ)面定義為相近的面型,再在此基礎(chǔ)上定義相對矢高,而不是直接用網(wǎng)格矢高面定義整個面型。

目前而言,Zemax OpticStudio無法直接對網(wǎng)格數(shù)據(jù)進行優(yōu)化或公差分析。