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