摘要
為您的光學仿真提供最大的多功能性是我們的宗旨之一。 在本教程中,我們將解釋如何使用可編程函數。它也可以被認為是在單個平面中起作用的理想化組件:工作流程需要在x,y平面上定義一個位置相關的復值函數,然后將該函數乘到入射場上。 我們以理想的柱面透鏡為例來詳細介紹整個過程。

可編程函數所在位置:目錄
可編程函數所在位置:光學設置

編寫代碼
•右側面板顯示可用的獨立參數列表。
•波長(Wavelength)是默認的獨立參數,允許用戶實現色散理想組件(函數)。
•折射率(RefractiveIndex)是另一個默認的獨立參數,它讀取嵌入介質的復值折射率。
•最后,x和y是最后兩個默認的獨立參數。 它們在定義理想組件(函數)的平面上。
•主函數必須返回每x,y(可能還有波長)的復數值,然后將其乘以入射場。
•使用Snippet Body將支持函數中的部分代碼分組。
•請注意,可以在可編程函數的代碼中使用導入的參考場和/或堆棧及其相關參數。 可以在“全局參數”選項卡中定義參考場和堆棧。
提示:全局參數(Global Parameters),代碼段幫助(Snippet Help),高級設置選項卡(Advanced Settings tabs)和界面的其他方面與VirtualLab中的其他可編程元素具有等效功能。
采樣
•用戶必須確保采樣(組件后的場)足夠精細,以解決可編程函數引入的頻率。
•為此,請使用“采樣”選項卡。
•請注意,采樣可能取決于定義的全局參數的實際值。

輸出
•可編程函數對每個波長產生一個定義在平面上的復值函數,用x,y表示。
•在光學設置中,它與入射場相乘。
•提示:已編程用于函數的代碼段也可用于可編程光源,反之亦然。
•該功能可以保存在邊界響應(Boundary Responses)目錄中供以后使用。

對柱面透鏡函數進行編程
柱面透鏡
柱面透鏡的函數是以下形式的純相位調制:

可編程函數所在位置:目錄

可編程函數所在位置:光學設置

可編程界面:全局參數
•打開“編輯”對話框后,轉到全局參數選項卡。
•在那里,添加和編輯兩個全局參數:
- 雙精度類型角度(double Angle)= 0度(0度,360度):表示由光軸和聚焦方向形成的角度。
- 雙精度類型焦距(double FocalLength)= 100毫米
(0米,1米):表示鏡頭的焦距。
•使用帶有“注釋”圖標的小按鈕可以為您的自定義全局參數添加一些說明。
提示:此處可能有必要添加一些陳述文本以促進其他使用者理解和使用代碼段。

可編程界面:代碼段幫助(Snippet Help)

•可選功能“Optional”:您可以使用“代碼段幫助”選項卡編寫指令,說明以及與代碼段相關的一些元數據。
•此選項對于使用可編程元素跟蹤進度非常有用。
•當可編程元素被發送給其他用戶處理時,它的作用發揮得尤為明顯!
可編程界面:編寫代碼
采樣
•根據入射場和自定義函數的屬性,用戶必須在“采樣”選項卡中確定適當的采樣。
•例如,對于我們的柱面透鏡和軸上準直入射光束,對于較小的鏡頭焦距,采樣必須更精細(更多的采樣點)。
可編程界面:使用您的代碼段(Snippet)
將自定義函數保存到目錄中

提示:如果您使用目錄來定義您的自定義界面,系統將會自動提示您將工作保存到目錄中。
可編程函數的輸出
此表面由代碼完全解析定義——完全準確“full accuracy”(已提升到雙精度水平)
測試代碼!
文件信息
|