Ansys Zemax | 解析 OpticStudio 中復(fù)合表面的工作原理審核
本文主要介紹了 OpticStudio 中的復(fù)合表面類(lèi)型,該功能將作為 Zemax OpticStudio 22.3 版本(支持于訂閱制專(zhuān)業(yè)/旗艦版)和 Ansys Zemax OpticStudio(專(zhuān)業(yè)/旗艦/企業(yè)版)2022 R2.02版本中一項(xiàng)新穎、有趣且實(shí)用的功能。該功能將延展支持出 OpticStudio 中許多新功能和可能性。
簡(jiǎn)介
序列模式下的全新復(fù)合表面能使用戶(hù)能夠添加多個(gè)表面的矢高輪廓,最終實(shí)現(xiàn)具有復(fù)雜矢高分布的新光學(xué)表面。如果用戶(hù)想要將不同類(lèi)型的矢高分布疊加到一個(gè)表面,則可以使用新表面對(duì)應(yīng)的復(fù)合堆疊功能實(shí)現(xiàn)。此功能將啟發(fā)模擬分析中的無(wú)限可能性,涵蓋分析、公差等多個(gè)環(huán)節(jié)。
在本文中,我們將解釋復(fù)合表面的工作原理,然后將其功能應(yīng)用于在手機(jī)攝像頭模組中,對(duì)復(fù)雜非球面透鏡進(jìn)行公差分析。
復(fù)合表面的工作原理
如圖 1 所示,可以使用“表面屬性”中的“復(fù)合表面:添加矢高至下一表面 (Composite Surface: Add sag to the next surface)”復(fù)選框啟用復(fù)合表面屬性:
圖 1. 復(fù)合表面屬性設(shè)置界面
復(fù)合表面允許將任意數(shù)量的表面添加在一起,這些表面稱(chēng)為“復(fù)合組件表面 (Composite Add-on)”,或簡(jiǎn)稱(chēng)為“組件面”。算法將把組件面的矢高輪廓將添加到下一個(gè)組件面上,總矢高最終將添加到鏡頭數(shù)據(jù)編輯器(LDE)中的下一個(gè)表面中,該表面稱(chēng)為“復(fù)合基礎(chǔ)表面 (Composite Base)”,或簡(jiǎn)稱(chēng)為“基面”,緊隨組件面之后。然后,基面矢高將是所有附加矢高及其基面矢高的總和。組件表面和基面的矢高總和稱(chēng)為“復(fù)合堆疊 (Composite Stack)”。如圖 2 所示,組件面行顏色為淺黃色,基面行顯示為亮黃色。
圖 2. Composite Add-on, Composite Base and Composite Stack
我們可以發(fā)現(xiàn),不能為組件面設(shè)置材料和膜層,因?yàn)樗鼉H用于將矢高分布提供給復(fù)合基面而不起其他任何作用。組件面的材料和膜層性能將跟隨基面的屬性。另一個(gè)重要的點(diǎn)是無(wú)論為復(fù)合組件面設(shè)置怎樣的孔徑,當(dāng)算法計(jì)算矢高分布時(shí),復(fù)合組件面的孔徑都將被認(rèn)為與基面相同。
在光線(xiàn)追跡中,光線(xiàn)僅考慮在基面所表達(dá)的總表面矢高,組件面不直接參與光線(xiàn)追跡。
基面的矢高圖將顯示包含所有復(fù)合組件面的總矢高,而不是僅顯示基面的矢高。
所支持表面
復(fù)合表面可支持的表面類(lèi)型如下所示,組件面和基面所支持的表面類(lèi)型相同:
雙錐面(Biconic)
雙錐 Zernike(Biconic Zernike)
切比雪夫多項(xiàng)式 (Chebyshev Polynomial)
偶次非球面(Even Asphere)
擴(kuò)展非球面(Extended Asphere)
擴(kuò)展奇次非球面(Extended Odd Asphere)
擴(kuò)展多項(xiàng)式(Extended Polynomial)
網(wǎng)格矢高面(Grid Sag)
不規(guī)則面(Irregular)
奇次非球面(Odd Asphere)
奇次余弦面(Odd Cosine)
離軸圓錐自由曲面(Off-Axis Conic Freeform)
周期面(Periodic)
多項(xiàng)式面(Polynomial)
Q型非球面(Q-Type Asphere)
Q型自由曲面(Q-Type Freeform)
標(biāo)準(zhǔn)面(Standard)
超圓錐面(Superconic)
傾斜面(Tilted)
環(huán)形面(Toroidal)
Zernike Fringe 矢高面(Zernike Fringe Sag)
Zernike 標(biāo)準(zhǔn)矢高(Zernike Standard Sag)
Zernike 環(huán)形標(biāo)準(zhǔn)矢高(Zernike Annular Standard Sag)
表面堆疊
如果要將不同類(lèi)型表面的矢高分布添加到一個(gè)表面,可以將多個(gè)附加表面添加為復(fù)合堆疊。
在下面的示例中(圖 3 所示),通過(guò)將組件面 4 添加到基面 5 形成 ROC(曲率半徑)= -500mm的拋物面反射鏡,另一個(gè)組件面 3 為表面矢高增加了 Zernike 項(xiàng)的擾動(dòng)。
圖 3. 使用復(fù)合表面建模的拋物面反射鏡
可以從以下視圖中看到,啟用組件面(圖4 (a))后,布局圖將顯示復(fù)合堆疊的總矢高,而不顯示單個(gè)組件面矢高。在圖4 (b) 中忽略所有附加表面的情況下,布局圖中將僅顯示基面(因此系統(tǒng)現(xiàn)在明顯失焦)。
圖4.(a)啟用組件面的拋物面反射鏡系統(tǒng) (b)忽略組件面的拋物面反射鏡系統(tǒng)
復(fù)合表面工具
添加復(fù)合表面后,有幾個(gè)用戶(hù)友好的工具可以使用。
忽略單個(gè)組件面
如圖 5 所示,選中“忽略此表面”復(fù)選框時(shí),該組件面對(duì)復(fù)合表面的矢高貢獻(xiàn)將被忽略,行的顏色將變?yōu)樯罨疑?/p>
圖 5. 忽略單個(gè)組件面
如果要忽略或啟用系統(tǒng)中的所有復(fù)合表面,可以在鏡頭數(shù)據(jù)編輯器上方的工具欄中用兩個(gè)按鈕來(lái)輕松控制。
忽略復(fù)合表面/啟用復(fù)合表面
圖 6. 忽略所有復(fù)合表面
圖 7. 啟用所有復(fù)合表面
隱藏/取消隱藏/刪除所有復(fù)合表面
在右鍵單擊菜單中,有三個(gè)選項(xiàng)可幫您根據(jù)需要輕松處理復(fù)合表面。
圖 8. 隱藏/取消隱藏/刪除所有復(fù)合表面
將復(fù)合表面與失高圖結(jié)合使用
我們可以使用 分析…偏振與表面物理…表面 (Analyze…Polarization and Surface Physics…Surface) 中的矢高圖功能來(lái)查看表面的矢高分布,以下是關(guān)于復(fù)合表面矢高圖的一些分析:
選擇“不移除”:矢高圖將顯示所選表面之前的所有組件面的總和。
選擇“移除復(fù)合矢高”:?jiǎn)为?dú)繪制選定基面的矢高。
選擇“移除基底矢高”:僅顯示應(yīng)用于此表面的所有組件面矢高的總和。
在下面的示例中,如圖 9 (a) 所示,表面 3 和 4 是組件面,表面 5 是基面。復(fù)合表面矢高圖,圖9 (b)~(g) 解釋了上述與復(fù)合表面的矢高關(guān)系。
圖 9(a). 用于解釋復(fù)合表面矢高圖的手機(jī)鏡頭系統(tǒng)示例
如圖9 (b)~(d) 所示,當(dāng)使用“不移除”時(shí),矢高會(huì)逐行加起來(lái):
圖 9(b)
圖 9(c)
圖 9(d)
如果要單獨(dú)顯示某組件面的矢高,可以使用“移除復(fù)合矢高”或“移除基本矢高”,如圖9 (e)~(g) 所示:
圖 9(e)
圖 9(f)
圖 9(g)
復(fù)合表面與離軸孔徑
復(fù)合表面也可以應(yīng)用于離軸系統(tǒng)的建模。
圖 10. 離軸反射式系統(tǒng)
如果單擊組件面的 “Composite” 選項(xiàng)卡中的“設(shè)置傾斜/偏心用于追隨基面孔徑 (Set Tilt/Decenter to follow Base surface aperture)”按鈕,則組件面將自動(dòng)在基面的離軸孔徑上居中。點(diǎn)擊按鈕后 OpticStudio 會(huì)自動(dòng)填充復(fù)合選項(xiàng)卡中的傾斜和偏心,以便組件面的矢高堆疊處于基面離軸孔徑的中心。其中,偏心與頂點(diǎn)位置匹配,而傾斜與離軸孔徑中心的基面旋轉(zhuǎn)方向匹配。
圖 11. “設(shè)置傾斜/偏心用于追隨基底表面孔徑”和“更新傾斜”按鈕
對(duì)于復(fù)合堆疊,“設(shè)置傾斜/偏心用于追隨基底表面孔徑光圈” 按鈕將用于基底之前的最后一個(gè)組件面,并且復(fù)合堆疊中的所有組件面將具有相同的傾斜/偏心屬性,即復(fù)合堆疊將具有相同的坐標(biāo)系。請(qǐng)注意,復(fù)合堆疊的傾斜/偏心只能在最靠近基面的組件面上看到,其中“設(shè)置傾斜/偏心用于追隨基底表面孔徑光圈”按鈕可以使用,對(duì)于所有其他組件面,這個(gè)按鈕將顯示為灰色。
如果用戶(hù)手動(dòng)更改偏心值,則可以使用“更新傾斜 (Update Tilt)”按鈕(如圖 11 所示)自動(dòng)填充更新后傾斜值,以便組件面的旋轉(zhuǎn)方向與指定偏心處的基面相匹配。
結(jié)合 TIRR、TEXI 和 TEZI 操作數(shù)進(jìn)行公差分析
在公差分析方面而言,上面的討論中我們知道可以使用復(fù)合表面的 Composite 屬性設(shè)置手動(dòng)添加不規(guī)則度和公差。
此外,復(fù)合表面擴(kuò)展了現(xiàn)有 TIRR、TEXI 和 TEZI 操作數(shù)的功能,以前這三個(gè)操作數(shù)只能用于對(duì)以下表面進(jìn)行公差分析:
圖 12. 之前TIRR、TEXI和TEZI僅用于有限的表面類(lèi)型
現(xiàn)在得益于復(fù)合表面,任何可以成為復(fù)合基面的表面類(lèi)型都可以使用這三個(gè)操作數(shù)來(lái)執(zhí)行公差分析請(qǐng)注意,TIRR、TEXI 和 TEZI 的擴(kuò)展功能不包括對(duì)離軸孔徑的支持)。
對(duì)于符合條件的表面類(lèi)型,TIRR 操作數(shù)將使用不規(guī)則面作為復(fù)合表面對(duì)這些表面進(jìn)行公差分析;TEXI 操作數(shù)將使用 Zernike Fringe 矢高面作為復(fù)合表面對(duì)這些表面進(jìn)行公差分析;TEZI 操作數(shù)將使用 Zernike 標(biāo)準(zhǔn)矢高面作為復(fù)合表面對(duì)這些表面的公差進(jìn)行分析。
我們以圖 13 所示的手機(jī)鏡頭設(shè)計(jì)為例。
圖 13. 手機(jī)鏡頭系統(tǒng)示例
公差數(shù)據(jù)編輯器(TDE)填充了手機(jī)鏡頭表面 3 和 4 的 TEZI 操作數(shù)。之前 TEZI 不能直接與 Q 型非球面一起使用,但現(xiàn)在您可以直接在 TDE 中進(jìn)行設(shè)置并使用以下公差功能,如圖 14 所示。
圖 14.在Q型非球面上使用 TEZI 操作數(shù)進(jìn)行公差分析
當(dāng)我們運(yùn)行公差分析并保存蒙特卡羅文件時(shí),您可以輕松檢查公差結(jié)果。
圖 15. 蒙特卡羅分析設(shè)置
我們還可以打開(kāi)一個(gè)蒙特卡羅隨機(jī)文件來(lái)驗(yàn)證并更好地了解操作數(shù)如何向表面添加不規(guī)則度。如圖 16 所示,Q 型非球面上增加了一個(gè)復(fù)合組件面,該表面帶有 TDE 中指定的 Zernike 標(biāo)準(zhǔn)矢高擾動(dòng)項(xiàng)。
圖 16. TEZI 操作數(shù)使用 Zernike 標(biāo)準(zhǔn)矢高復(fù)合表面對(duì) Q 型非球面表面進(jìn)行公差分析
后續(xù)我們將繼續(xù)更新文章來(lái)解釋上面使用的手機(jī)鏡頭系統(tǒng)設(shè)計(jì),請(qǐng)持續(xù)關(guān)注[武漢宇熠]。
API控制
為復(fù)合表面添加了,IsCompositeSurface 和 SetOffAxisTiltAndDecenter() 兩個(gè)新的 API 命令。
IsCompositeSurface 用于此參數(shù)的 Sets 和 Get 值。SetOffAxisTiltAndDecenter() 根據(jù)離軸表面孔徑中心的復(fù)合表面基面法線(xiàn)矢量計(jì)算得出所需填充的恰當(dāng)屬性值。
下面提供一個(gè) Python 代碼的示例片段供參考:
TheSystem = TheApplication.PrimarySystem;
TheLDE = TheSystem.LDE
# Get Surface j Information
CompositeTest = TheLDE.GetSurfaceAt(j)
# Check “Composite Surface:Add sag to the next surface”
CompositeTest.CompositeData.IsCompositeSurface=1
# Press “Set Tilt/Decenter to follow Base surface aperture” button
CompositeTest.CompositeData.SetOffAxisTiltAndDecenter()
# Extract Composite Surface Tilt/Decenter value
CompositeTiltX=CompositeTest.TiltDecenterData.BeforeSurfaceTiltX
CompositeTiltY=CompositeTest.TiltDecenterData.BeforeSurfaceTiltY
CompositeTiltZ=CompositeTest.TiltDecenterData.BeforeSurfaceTiltZ
CompositDecenterX=CompositeTest.TiltDecenterData.BeforeSurfaceDecenterX
CompositDecenterY=CompositeTest.TiltDecenterData.BeforeSurfaceDecenterY
# Change the Tilt/Decenter values manually
CompositeTest.TiltDecenterData.BeforeSurfaceTiltX = 0
CompositeTest.TiltDecenterData.BeforeSurfaceDecenterY = 0
API控制
還有用于復(fù)合表面的新 ZPL 宏命令。
COMPOSITEON(surface number) – 關(guān)鍵字
COMPOSITEOFF( surface number ) – 關(guān)鍵字
COMPOSITEOFFAXISAPERTUREON ( surface number ) – 關(guān)鍵字
ISCS(surface number) ->returns 1|0 – 數(shù)值函數(shù)
ISCS() 當(dāng)表面不是復(fù)合表面時(shí)將返回 0,如果表面是復(fù)合表面則返回 1。
有關(guān)這些命令的詳細(xì)信息,請(qǐng)參閱幫助文件。提供了一些示例代碼供參考:
! Uncheck the composite surface checkbox
PRINT “Turn off composite surface j”
COMPOSITEOFF j
A = ISCS(j)
! ISCS () return 0 if it’s not composite surf., return 1 if it’s composite
surf.
IF (A < 0.5)
PRINT ” ==> Composite surface flag is OFF”
ELSE
PRINT ” ==> Composite surface flag is ON”
ENDIF
! Check the composite surface checkbox
PRINT “Turn on composite surface j”
COMPOSITEON j
A = ISCS(j)
IF (A > 0.5)
PRINT ” ==> Composite surface flag is ON”
ELSE
PRINT ” ==> Composite surface flag is OFF”
ENDIF
! Press the “Set Tilt/Decenter to follow Base surface aperture” button
PRINT “Set Tilt/Decenter to follow Base surface aperture”
COMPOSITEOFFAXISAPERTUREON j
PRINT ” ==> Click Tilt/Decenter to follow Base surface aperture
button”
結(jié)論
本文介紹了 Zemax OpticStudio 22.3 和 Ansys Zemax OpticStudio 2022 R2.02 中的復(fù)合表面功能。它擴(kuò)展了 OpticStudio 中的許多新功能和可能性,希望它能幫助您更加高效工作,期待您的反饋!