摘要
為您的光學(xué)仿真提供最大的多功能性是我們的宗旨之一。 在本教程中,我們將介紹可編程探測器:可以最大限度地靈活地訪問矢量場中包含的任何物理信息或到達(dá)探測器的光線(取決于模擬引擎)。 我們在這里使用一個簡單的編程示例來說明其操作流程。
可編程探測器所在位置:目錄
可編程探測器所在位置:光學(xué)系統(tǒng)
關(guān)于光表征的注釋
在物理光學(xué)中表示光的矢量電磁場在VirtualLab Fusion中始終可以通過系統(tǒng)進(jìn)行追跡。
•從計算效率的角度來看,為了使這種方法更實用,最重要的是擁有一套多樣化的數(shù)學(xué)技術(shù)(高效傅里葉變換算法,插值和擬合方法,異構(gòu)采樣機制等)。
•在當(dāng)前版本的VirtualLab Fusion中,該技術(shù)由多個模擬引擎的共同呈現(xiàn):
- 光線追跡:純光線追跡,產(chǎn)生2D和3D結(jié)果
- 經(jīng)典場追跡:可處理等距采樣的EM場數(shù)據(jù)
- 第二代場追跡:還能夠處理非等距的EM場數(shù)據(jù)
•這與可編程探測器相關(guān):探測器的良好實施需要考慮不同引擎中的光線表現(xiàn)方式!
關(guān)于光表征的注釋
•此外,為了表達(dá)光的一系列重要物理屬性(部分相干,例如,無論是時間還是空間),VirtualLab使用模態(tài)分解。
•可通過一系列索引在可編程探測器中訪問不同的模態(tài)。
•如果要可編程探測器呈現(xiàn)要求的正確物理特性,則考慮不同的模態(tài)也是至關(guān)重要的!
編寫代碼:等距場數(shù)據(jù)
•可編程探測器提供兩種不同的編程控制設(shè)置。 這些與模擬引擎有關(guān)。 第一個標(biāo)題為等距場數(shù)據(jù)的代碼段,處理在等距矩形x,y網(wǎng)格上采樣的電磁場對象。
•這是麥克斯韋方程的直接結(jié)果,在均勻介質(zhì)中,六個電磁分量中只有兩個是獨立的; 因此,到達(dá)探測器的僅由Ex和Ey分量組成,所有其他分量因此可以明確地按需計算。
•根據(jù)輸入場的偏振特性,Ex和Ey可以是兩個獨立的函數(shù)(局部偏振),也可以通過常數(shù)Jones'向量(在x和y是常數(shù))從單個場函數(shù)U獲得,因此Ex = Jx * U和Ey = Jy * U。
提示:全局參數(shù)(Global Parameters),代碼段幫助(Snippet Help),高級設(shè)置選項卡(Advanced Settings tabs)和界面的其他方面與VirtualLab中的其他可編程元件一致。
編寫代碼:等距場數(shù)據(jù)
•右側(cè)面板顯示可用的獨立參數(shù)列表。
•IndexOfDetector和IndexOfLinkage指的是包含相關(guān)探測器的光學(xué)系統(tǒng)配置中的相應(yīng)元件。
•SystemTemperature和SystemPressure是整個系統(tǒng)的參數(shù),其值可以在代碼中用于實現(xiàn)與溫度和壓力相關(guān)的響應(yīng)。
•AutomaticFieldSize,...,ManualNumberSamplingPoints是影響最終等距采樣場結(jié)果的參數(shù),其值可在探測器配置對話框的“探測器窗口”和“分辨率”選項卡中進(jìn)行修改。
提示:全局參數(shù)(Global Parameters),代碼段幫助(Snippet Help),高級設(shè)置選項卡(Advanced Settings tabs)和界面的其他方面與VirtualLab中的其他可編程元件一致。
編寫代碼:等距場數(shù)據(jù)
•ResolveLinearPhase和ResolveRelativePosition是標(biāo)志,其值可在探測器配置對話框的“探測器函數(shù)”選項卡中進(jìn)行修改。 它們表明用戶希望保持存儲在光場內(nèi)部坐標(biāo)系中的線性相位和位置移位,或相反地,精確地分辨(這導(dǎo)致更高的采樣要求,如Shannon-Nyquist所示)。 程序員有責(zé)任實現(xiàn)能夠以某種方式正確反映這些愿景的代碼。
•InputField表示到達(dá)探測器的光場(等距采樣)。 遵循VirtualLab的模式概念,它由一組完全自相關(guān)的電磁模式組成,它們之間可以表現(xiàn)出不同的相干特性,如實地模擬物理場的相干特性。
•ParentLightPath是指包含相關(guān)探測器的光學(xué)系統(tǒng)。 使用Snippet Body將支持函數(shù)中的部分代碼分組。
提示:全局參數(shù)(Global Parameters),代碼段幫助(Snippet Help),高級設(shè)置選項卡(Advanced Settings tabs)和界面的其他方面與VirtualLab中的其他可編程元件一致。
編寫代碼:非等距場和光線數(shù)據(jù)
•可編程探測器中的另一個編程對話框處理非等距采樣的場數(shù)據(jù)和光線。
•右側(cè)的面板再次顯示可用的獨立參數(shù)列表。
•與等距采樣場的代碼段的唯一區(qū)別在于InputField被RayTracingResult替換。
•不要讓RayTracingResult這個名字欺騙你! 這種術(shù)語已經(jīng)過時,將在未來的版本中逐步淘汰。
•對于非等距場,矢量場樣本可能與光線樣本重合。 因此,當(dāng)所選引擎是第二代場追跡時,此代碼段可以返回光線信息(如果使用光線追跡引擎運行模擬)和物理光學(xué)結(jié)果。 程序員有責(zé)任考慮這兩種情況。
輸出
•對于兩種代碼段,可編程探測器必須返回DetectorResultObject []數(shù)組。
•此類對象可以包含
- 物理量值:例如,計算功率的探測器
- 2D圖形表示:想象一個探測器,顯示探測器平面中的所有六個電磁分量。
•每一個DetectorResultObject [i]對應(yīng)于一個物理量大小或一個2D圖形。
•可編程探測器的結(jié)果可用于參數(shù)掃描或參數(shù)優(yōu)化!
•自定義探測器可以保存在目錄中供以后使用。
編程探測器探測入射光譜中的最小和最大波長
要求的自定義探測器的規(guī)格
•本例程產(chǎn)生的自定義探測器必須適用光線和場追跡兩個引擎。
•可編程探測器將產(chǎn)生至少三個結(jié)果:
- 光譜中的樣本總數(shù)
- 光譜中存在的最小波長的值
- 光譜中存在的最大波長的值
•此外,還將包含用戶控制的布爾參數(shù)。
•此布爾參數(shù)將允許用戶選擇是否要返回其他結(jié)果:此附加結(jié)果對應(yīng)于到達(dá)探測器的光(光線或場)。
可編程探測器所在位置:目錄
可編程探測器所在位置:光學(xué)系統(tǒng)
可編程探測器:全局參數(shù)
•點擊打開“編輯”對話框后,轉(zhuǎn)到“全局參數(shù)”選項卡。
•在那里,添加和編輯一個全局參數(shù):
- Boolean ShowLight = false(false,true):用戶定義的參數(shù),用于表示確定到達(dá)探測器的光(矢量場或光線)是否將作為探測器結(jié)果與光譜中波長最小值和最大值一起返回。。
•請注意,“全局參數(shù)”,“代碼段幫助”和“高級設(shè)置”選項卡以及“代碼段分段(Snippet Body)”在兩種控制模式(等距采樣場,光線和非等距采樣場)共享和共用。
提示:此處可以添加一些陳述文本以便其他使用者理解和使用該代碼段。
可編程探測器:代碼段幫助(Snippet Help)
•可選功能“Optional”:您可以使用“代碼段幫助”選項卡編寫指令,說明以及與代碼段相關(guān)的一些元數(shù)據(jù)。
•此選項對于使用可編程元件跟蹤進(jìn)度非常有用。
•當(dāng)可編程元件被發(fā)送給其他用戶處理時,它的作用發(fā)揮得尤為明顯!
可編程探測器:編寫代碼(1)
可編程探測器:編寫代碼(2)
可編程探測器:比較代碼段
•變量需要在兩個代碼段中分別獨立聲明。
•甚至可以使用不同的命名法!
•程序員有責(zé)任確保代碼在兩個代碼段中以相同的方式運行。
•在所有全局參數(shù)(包括用戶定義的參數(shù))中,只有一個與代碼段相關(guān):與光表示相對應(yīng)的參數(shù)(InputField RayTracingResult)
可編程探測器:使用您的代碼段(Snippet)
將自定義探測器保存到目錄
可編程探測器的輸出
測試代碼!
測試代碼!
文件信息
更多閱覽
|