我們最基本的目標之一是為光學模擬提供最大的通用性。在本教程中,我們將解釋如何使用可編程函數(shù),可以將其認為是一個理想化的組件,作用在一個平面上:工作流程需要在x、y平面上定義一個與位置相關(guān)的復數(shù)函數(shù),然后將其乘以輸入場。我們以一個理想的圓柱形透鏡為例來詳細介紹整個過程。 在哪里可以找到可編程函數(shù):目錄 在哪里可以找到可編程函數(shù):光學設(shè)置 編寫代碼 •右邊的面板顯示了可用的獨立參數(shù)列表。 •波長是一個默認的獨立參數(shù),允許用戶實現(xiàn)色散的理想元件(函數(shù))。 •折射率是另一個默認的獨立參數(shù),用于讀取嵌入介質(zhì)的復數(shù)折射率。 •最后,x和y是最后兩個默認的獨立參數(shù)。它們跨越了定義理想元件(函數(shù))的平面。 編寫代碼 •主函數(shù)對每個x、y(可能也是波長)必須返回一個復數(shù)值,然后將其乘以輸入場。 •使用代碼段將代碼中的部分代碼分組到支持函數(shù)中。 •注意,可以在可編程函數(shù)的代碼中使用導入的參考場和/或堆棧及其相關(guān)參數(shù)。參考場和堆棧可以在全局參數(shù)選項卡中定義。 采樣 •用戶必須確保采樣(元件后方的場)足夠精細,以分辨可編程功能引入的頻率。 •為此,請使用采樣選項卡。 •請注意,采樣可能取決于定義的全局參數(shù)的實際值。 輸出 •可編程函數(shù)在一個平面(在x,y范圍)上定義的每個波長上產(chǎn)生一個復值函數(shù)。 •在光學設(shè)置中,它被乘以輸入場。 •提示:已經(jīng)被編程為一個函數(shù)的代碼段也可以在可編程光源中使用,反之亦然。 •該函數(shù)可以保存在邊界響應目錄中,以便以后使用。 圓柱形透鏡函數(shù)的編程 圓柱形透鏡 圓柱形透鏡的函數(shù)是相位調(diào)制的形式: f→焦距 k→波數(shù) α→光軸與透鏡焦距方向之間的夾角 在哪里可以找到可編程功函數(shù):目錄 在哪里可以找到可編程函數(shù):光學設(shè)置 編程界面:全局參數(shù) •打開編輯對話框進入全局參數(shù)選項卡。 •在這里,添加和編輯兩個全局參數(shù)。 - double Angle=0度(0度,360度):表示光軸和對焦方向形成的角度。 - double FocalLength=100 mm(0 m,1 m):表示透鏡的焦距。 •使用帶有小 "注釋 "圖標的按鈕,為你的自定義全局參數(shù)添加一些解釋。 編程界面:代碼段幫助 •選項:你可以使用代碼段幫助選項卡來編寫指令、說明和一些與你的代碼段相關(guān)聯(lián)的元數(shù)據(jù)。 •這個選項對追蹤你使用可編程元素的進度非常有幫助。 •當可編程序元素以后被移交給其他用戶處理時,這個選項特別有用! 編程接口:代碼段幫助
編程界面:編寫代碼 采樣 •根據(jù)入射場的屬性和自定義功能,用戶必須在采樣選項卡中確定適當?shù)牟蓸印?/p> •例如,在我們的圓柱形透鏡的情況下,對于軸上準直入射光束,對于較小焦距的鏡頭,采樣必須更細(采樣點數(shù)量更多)。 編程界面:使用你的代碼 保存自定義的函數(shù)到目錄 可編程函數(shù)的輸出 測試代碼 |