FRED應用:二階鬼像分析
簡介
FRED能夠提供用戶有關通過光機系統任意鬼像和散射路徑的詳細情況。我們簡單地設置光學和機械的物理屬性 (涂層、材料、散射模型等),設置一個合適的光源,并且讓FRED記錄下在光線追跡時系統所有唯一的路徑。當光線追跡完成時,我們可以對光線追跡的路徑進行后期處理,來提取出與我們系統相關的路徑。
然而,假設我們對于表征一個光學系統中的初級鬼像路徑很感興趣,或者我們的系統沒有完全的開發或改進,來保證一個長的多階次的雜散光分析。本文介紹了一個腳本,可以在一個導入的序列設計中對初級鬼像路徑進行自動分析。我們首先來討論合理地設置分析中導入的序列文件的過程,然后討論腳本的運行以及執行分析的過程。
指定表面涂層性質
分析的要點是找出多少功率(以及功率的分布)到達了我們的焦平面,這是由在我們的透鏡表面之間的鏡面系列的現象產生的,這些都不是“設計”路徑。舉個例子,我們第一個透鏡元件內的內部反彈可能會到達探測器,我們希望可以量化它的貢獻。
為了產生鬼像路徑,我們的透鏡需要有涂層覆蓋,這可以讓入射能量的一些部分以反射和透射的方式傳播。默認情況下,導入的透鏡表面具有100%透射涂層,將沒有任何鬼像產生。我們可以瀏覽透鏡的每一個光學表面,然后給每個表面應用一個非理想的涂層模型,不過FRED確實提供了一個界面,使得這一過程變得不那么單調乏味。點擊Menu > Edit > Edit/View Multiple Surfaces,該界面提供了一個技巧,可以非常簡單的完成多表面性質賦予作業。
我們將使用該界面以默認的“Standard Coating”替換所有我們的透射表面,該“Standard Coating”允許96%的功率透射和4%的功率反射,默認的“Allow All”光線追跡控制允許光線在一個界面分成反射和透射兩個組分。在按下您鍵盤上的“Ctrl”鍵的同時,選擇表格中具有“Transmit”涂層的行。
現在我們已經選中了我們希望修改的行,使用對話框中的“Modify All Highlighted Spreadsheet Rows”區域,來替換我們想要的屬性。在這種情況下,選擇屬性類型“Coating”下拉列表,從可用的屬性下拉列表中選擇“Standard Coating”,然后點擊“Replace”按鈕。
指定表面光線追跡控制性質
對于Raytrace Control重復這一過程,使用Allow All屬性。
一旦您已經替換了選定表面的Coating和Raytrace Control,您可以點擊OK按鈕提交更改,返回到文件中,關閉Edit/View Multiple Surfaces對話框。
設置光源
結構屬性現在將支持二階鬼像在透鏡元件內產生,現在我們應該設置我們的光源。注意到按照您的設計文件的規格,FRED創建了多個視場光源,但是我們將在軸上視場執行我們的分析。展開您的光源文件夾,選擇樹形文件夾中的視場光源1-5,點擊鼠標右鍵,切換為“Make All NOT Traceable”選項,將這些光源關閉。
當追跡不相干的光源時,一個非常好的辦法是移除 “網格化”的光源。在Field Position 0光源上雙擊,打開它的對話框,然后移動到Positions/Directions標簽上。注意到Ray Positions設置為“Grid Plane”。
使用非相干光源時,具有網格位置和方向規格會導致計算出的能量分布(光源網格與分析網格重疊)產生混疊效應。為了去除這種現象發生的可能性,我們改變了光線位置類型,從Grid Plane 到Random Plane,同時保持相同的孔徑大小和形狀。
當您根據上面的描述已經改變了您的光源光線位置規格后,點擊OK接受這些變化,關閉對話框。
增加一個分析面
盡管我們的焦平面已經有了一個表面,我們需要添加一個Analysis Surface到它上面來計算輻射照度分布。首先,我們確定焦平面的孔徑大小大約為2.5mm。接下來,右鍵點擊我們的Analysis Surface(s)文件夾,選擇“New Analysis Surface”。現在,便可以指定名稱、分析區域的大小、網格中劃分的數目。當分析面創建好了后,我們將它放到對應的位置。
當完成了上述的規格后,點擊OK按鈕,創建新的分析面。通過展開Analysis Surface(s)文件夾和我們的幾何樹形結構(那樣我們就可以看到“Surf 8”),我們可以將這一分析面分配到我們的探測器,然后拖拽DetectorAnalysis節點放到Surf 8上。
修改默認序列路徑
我們不久將會看到的,我們腳本分析的基礎是透鏡設計的默認序列路徑,這是在導入文件中自動創建的。為了看到序列路徑,我們可以前往Menu > Raytrace > User-defined Ray Paths。在“Selected Path”下拉列表里,選擇“DefaultSequential”來顯示路徑列表。盡管FRED自身的光線追跡模式是非序列的,可以指示它執行序列光線追跡(即交叉事件的一個明確有序的列表),默認序列光線追跡路徑(如下所示)指示FRED來執行這一確切序列的交叉事件。
然而我們要注意,默認序列路徑中的第一個事件是經過“Surf 1”的一個透射。在我們開始導入我們的透鏡設計時,這一事件是合乎情理的,因為“光闌”實際上是一個Air/Air透射圓盤。但是,通過使光闌表面成為一個吸收圓環表面,我們已經讓它適用于FRED模型。通過這樣的方法改變光闌表面,意味著我們應該將它從我們默認序列路徑中移除(畢竟,我們想要的是不會碰到孔徑光闌的光線),為了從一個序列路徑中移除一個事件,在您所希望移除的行上點擊鼠標右鍵,選擇“Delete Row”選項。
點擊對話框中的OK按鈕來接受這種變化,并將其提交到文檔中。
運行腳本
自動化腳本背后的思想是從默認序列路徑開始,然后使用它來產生系統中所有可能的二階鬼像路徑。對于一個具有n個光學表面的系統,鬼像的數目可以確定為:
在算法上,腳本自動進行了以下步驟:
1.找到并存儲默認序列路徑事件
2.構造所有鬼像表面組合的一個列表
3.在每個鬼像表面組合循環,并
3a. 構造與鬼像路徑一致的序列路徑
3b. 光線追跡該序列路徑
3c. 在焦平面上運行一個輻射照度并計算統計值
3d. 報告鬼像路徑信息到輸出窗口
運行完腳本后,文件會包含:
1.系統中每個二階鬼像路徑的一個唯一的序列路徑
2.系統中每個鬼像路徑的一個分析結果節點(Analysis Results Node),節點中包含了每個鬼像路徑的輻射照度分布
3.輸出窗口中每個鬼像路徑的綜述
為了使腳本能夠在我們系統實例上運行,有兩行我們需要去修改。
1.Line 19:為分析面填寫合適的FindFullName指令,用于計算我們焦平面上輻射照度分布
2.Line 24:填寫合適的默認序列路徑名稱,在文件導入中創建(您可以從用戶定義路徑對話框復制這個名字)
運行腳本后,下面的輸出就會打印到輸出窗口,它通過列出鬼像表面對,提供了通過系統的每個鬼像路徑的綜述,包含在結果中光線的數目,探測器上鬼像路徑的總功率,和鬼像路徑分布中輻射照度峰值。
此外,在您的對象樹中分析結果文件夾應該包含每個鬼像路徑的一個輻射照度分布。通過在ARN上點擊鼠標右鍵,您可以在圖表查看器上查看這些結果:
最后,使用高級光線追跡對話框,選擇“Sequential using a user-defined path”選項,然后選擇期望的鬼像路徑,您可以重新追跡任何特定的鬼像路徑。
總結
本文和相應的實例文件,演示了在FRED中為您的光學設計文件準備鬼像分析的過程,介紹了能夠幫助自動運行二階鬼像分析的一個腳本工具。腳本運行后,使FRED文件包含了系統中所有二階鬼像路徑的結果,提供了所有二階鬼像路徑的摘要信息,另外為每個鬼像表面對創建了獨特的用戶定義光線路徑,這樣一旦有需要,就能夠被追跡。
此外,關于腳本這部分,我們可以選擇不使用腳本,首先使用高級光線追跡工具,勾選Create/use ray history file及Determine raypaths, 光線追跡完成之后選擇FRED里面的雜散光報告,可同樣看到二階鬼像路徑。對于高級鬼像路徑,我們可以在光線追跡控制里面在Ancestry Level Cutoff將Specular改為4、6、8…,可以查看高級鬼像。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















