ZEMAX | 如何使用米氏散射模型模擬環(huán)境中的散射現(xiàn)象
本文介紹了利用光學(xué)全息圖降低單透鏡像差的方法。在描述了表示全息圖構(gòu)造光束的兩個 ZMX 文件之后,本文演示了如何在重現(xiàn)文件中設(shè)置 OFH。然后解釋了如何輕松地從重現(xiàn)文件中訪問任何結(jié)構(gòu)造光束變量,以實現(xiàn)衍射受限單透鏡的設(shè)計。(聯(lián)系我們獲取文章附件)
簡介
根據(jù)麥克斯韋方程式,光線入射球型粒子會產(chǎn)生散射的現(xiàn)象,而米氏散射理論為此提供了解析解。此理論可推廣至任意大小的粒子,因此可適用在所有"粒子半徑對入射波長比"的情況。這對于模擬白云中的散射現(xiàn)象1時很有幫助,同時也有助于解釋光線入射特定物質(zhì),如牛奶和生物組織時所產(chǎn)生的變化。在 OpticStudio 的非序列模式中,我們可以用體散射(bulk scattering)的追跡方式建立這類的模型。此外,Bohren 和 Huffman 的研究為此現(xiàn)象的模擬提供了計算的依據(jù)。
這篇文章將說明模型在模擬系統(tǒng)中的表現(xiàn),同時也會以一個大氣中的散射現(xiàn)象作為例子,此模擬將運用到米氏理論的 DLL 。
參數(shù)模擬
為了在非序列模式中的對象上套用米氏散射分布的設(shè)定,如下圖所示,我們需先開啟該物件的屬性字段(Object Properties),并在下方的 Volume Physics 項目中勾選 DLL 定義散射(DLL Defined Scattering),最后在 DLL 字段選擇 MIE.DLL。

為了使這個 DLL 正常運行,我們需要輸入5項參數(shù)。
折射系數(shù)
我們在這個字段設(shè)定散射粒子的折射系數(shù)(實數(shù)部分),而環(huán)境介質(zhì)的折射系數(shù),則是在材質(zhì)(Material)欄位設(shè)定。若在粒子與環(huán)境有相同折射系數(shù)的情況下(或兩者的差異在10-6以下),則此時粒子無法自環(huán)境中被區(qū)分,散射的現(xiàn)象將不會發(fā)生。另外,當(dāng)粒子的折射系數(shù)被設(shè)定小于0.0,此時也不會有散射發(fā)生,DLL 將會被忽略。
尺寸(微米)
此處指的是球型粒子的半徑(r)大小。若數(shù)值被設(shè)定為≤ 0.0,則不會有散射現(xiàn)象發(fā)生,DLL 將被忽略。半徑的最大值將取決于標(biāo)準(zhǔn)化的球體大?。▁ = 2πrn/λ,n為環(huán)境的折射率),一般情況下默認(rèn)為1934。若數(shù)值超過此數(shù)值,則散射不會發(fā)生。對于如此大的球體粒子,直接在 OpticStudio 中模擬球體本身會是一個較理想的方式,不建議使用球體的等效散射分布設(shè)定。
密度和平均自由路徑
散射粒子在對象中的密度。若數(shù)值小于0.0,則散射不會發(fā)生,DLL 會被忽略。若數(shù)值大于0.0,則此時程序會將數(shù)值搭配散射截面(σs)進(jìn)行計算,最后求得散射平均自由路徑(mean-free path)為λmfp = 1/nsσs。若密度等于0.0,則此時的平均自由路徑會與上方"平均路徑(Mean Path)"欄位等值。而當(dāng)密度大于0.0時,平均路徑的數(shù)值將被忽略。此外,若平均路徑的數(shù)值為0,則 DLL 將被忽略。注意,平均路徑字段無法輸入負(fù)值。
最小閾值
OpticStudio 中的散射計算會涉及機(jī)率密度函數(shù)(Probability density function)的積分。一般而言,在極坐標(biāo)(polar direction)上積分的范圍是由0到π,在方位角(azimuthal direction)上取0到2π。但對于分布較集中的情形而言,計算積分的過程會涵蓋大量機(jī)率為零的范圍,減低計算過程的效率。為了解決這樣的問題,通過修改最小閾值,我們可以降低極坐標(biāo)積分的上限。此上限值是由機(jī)率分布峰值中一小部分區(qū)域在極坐標(biāo)空間中的位置所決定。舉例而言,假如我們將最小閾值設(shè)定為0.01,則此時極坐標(biāo)積分的上限就會是機(jī)率分布為0.01的位置坐標(biāo)乘以峰值的機(jī)率。若輸入值小于≤0.0或者≥0.5,則數(shù)值將會變?yōu)轭A(yù)設(shè)的0.001。
我們必須審慎看待最小閾值的設(shè)定。一般來說,在粒子較大的案例中,機(jī)率分布會更集中。設(shè)計者為了得到更好的結(jié)果,可能會將最小閾值設(shè)為更大的數(shù)值。但由于散射計算中的角分辨率為定值(0.1度),所以當(dāng)機(jī)率分布更加集中時,相鄰角度的機(jī)率變化會更加劇烈。因此在這個案例中,為了確保能有足夠的數(shù)據(jù)點用于積分,降低最小閾值是必要的。
我們可以通過比較模擬結(jié)果的方式找到合適的最小閾值。輸入值由0.01開始,并逐次將前一次的數(shù)值乘上0.1。若發(fā)現(xiàn)結(jié)果產(chǎn)生明顯的變化,則繼續(xù)遞減數(shù)值直到結(jié)果收斂。當(dāng)我們得到這個最佳值后,可以發(fā)現(xiàn)往后即使再減少最小閾值也無法增加計算的準(zhǔn)確性,只是徒然的增加運算時間而已。
透射率
這是一個衰減因子,可降低任何經(jīng)歷散射事件的光線的強(qiáng)度。當(dāng)射線散射在散射體積內(nèi)時,其強(qiáng)度乘以此因子。例如,如果傳輸設(shè)置為 0.89,則散射射線的強(qiáng)度將是散射前強(qiáng)度的 0.89 倍。此因子允許用戶考慮散射球體中能量的吸收。背景介質(zhì)中能量的吸收將由卷"材料"列中指定的材料的傳輸屬性確定。
雖然散射粒子折射指數(shù)的假想成分會影響吸收——這可以以傳輸輸入 DLL 為特征——該組件也會影響散射的概率分布。但是,只有當(dāng)假想組件的大小為 +10-2 或更大,對應(yīng)于高度吸收粒子時,概率分布才會受到影響。因此在模擬米氏散射時,我們可以先忽略折射系數(shù)虛部造成的影響。
額外考量
最后,DLL 中不會使用到"角度"這個參數(shù),但如果將這個參數(shù)值設(shè)為≤ 0.0或> 180.0,則散射的現(xiàn)象不會發(fā)生(DLL 將被忽略)。
米氏散射的分布主要由兩個無因次的參數(shù)所描述:散射粒子和背景介質(zhì)的折射率比值(m =nparticle /nbackground)以及歸一化的球體尺寸(x =2πrnbackground/λ)。米氏散射的分布會以每一對(m, x)為目標(biāo)進(jìn)行計算,一旦完成這些計算的過程,且結(jié)果儲存在內(nèi)存中之后,則任意數(shù)量的光線就可被用于追跡。DLL 至多可儲存10,000對的(m, x)值。一旦超過這個上限,則系統(tǒng)不會再儲存任何的米氏散射數(shù)據(jù),其余的(m, x)輸入將不會產(chǎn)生散射的現(xiàn)象。對于大多數(shù)的用戶而言,10,000的輸入上限值是非常足夠的。
范例:大氣中的散射現(xiàn)象
接下來我們會使用一個簡單的范例驗證米氏散射的程序(聯(lián)系我們獲取文章附件中的范例)
在范例中,我們使用一個橢圓光源(Source Ellipse)模擬太陽,光源的光譜分布由它的黑體溫度決定。

如上圖,我們將溫度設(shè)為 5780 K 以模擬太陽的表面。
同時使用矩形對象代表大氣環(huán)境,我們可以發(fā)現(xiàn)大氣的顏色是由顏色探測器(Detector Color object)所決定。我們使用另一個顏色探測器觀察太陽的光譜信息。注意,這個示例的結(jié)果并未按比例尺繪制,只是單純的展示如何將米氏散射的程序于系統(tǒng)中進(jìn)行模擬。
范例中的系統(tǒng)包含了兩個不同的結(jié)構(gòu),在結(jié)構(gòu)1中,對象的參數(shù)是依據(jù)瑞利極限(Rayleigh limit)的條件進(jìn)行設(shè)定的,確保 DLL 可以產(chǎn)生符合預(yù)期的散射現(xiàn)象(此時歸一化的球體尺寸<< 1)。

在粒子折射率方面,我們以1.33表示水的折射系數(shù)。此外,我們將矩形對象的材質(zhì)字段留白,代表該物件可視為空氣。由此,我們建立了光線因空氣中的水滴而發(fā)生散射的等效模型。
每個水滴的大小為7 nm。對可見光波長(介于0.4至0.7之間)而言,因此歸一化的球體大小介于0.063和0.11之間(<< 1,符合瑞利極限的條件)。而粒子密度方面,我們需要設(shè)定適當(dāng)?shù)臄?shù)值,使系統(tǒng)的平均自由路徑可保持約幾毫米長(這項數(shù)據(jù)并不會顯示在結(jié)果中,但會受到程序變更的影響)。
在追跡 1,000萬條光線后,我們可以發(fā)現(xiàn)大氣顯現(xiàn)的結(jié)果為藍(lán)色,這是因為瑞利極限中散射的現(xiàn)象與入射波長(1/λ4)有很強(qiáng)的關(guān)聯(lián)性所致。

此處的顏色可根據(jù)色坐標(biāo)進(jìn)行定義,如下圖我們可在優(yōu)化函數(shù)中選擇 NSDE 操作數(shù)來達(dá)成目的。

將結(jié)果產(chǎn)生的數(shù)值與優(yōu)化函數(shù)中的太陽光譜(上圖的第7、8行)進(jìn)行比較,我們可以輕易的觀察到瑞利散射發(fā)生時顏色產(chǎn)生的位移。
在結(jié)構(gòu)2中,散射粒子的尺寸明顯增加了,在這樣的情況下討論的范疇將由瑞利極限變更至米氏散射的領(lǐng)域。

為了使散射的平均自由路徑與結(jié)構(gòu)1相似(幾毫米長),粒子的密度必須降低。
而這項數(shù)據(jù)同樣不會顯現(xiàn)在結(jié)果中,但仍會受到程序的影響。
同時,最小閾值也必須降低,確保在粒子尺寸如此大的情況下,機(jī)率分布仍能夠充分的被采樣。
完成 1,000萬條光線的追跡后,我們可以發(fā)現(xiàn)顯現(xiàn)的顏色結(jié)果和光源的光譜是十分接近的。

在優(yōu)化函數(shù)部分,我們同樣加入 NSDE 操作數(shù)使結(jié)果能更明確的表示:

最后得到的結(jié)果顯示,在米氏散射的條件下,散射的分布與入射波長的關(guān)聯(lián)性極低,這個結(jié)果與文獻(xiàn)的結(jié)論是一致的4。這樣的現(xiàn)象解釋了為何太陽周圍的光線看起來是白色的,和太陽本身的顏色一樣。同時,這也解釋了天空中的云為什么看起來同樣是白色的。這是因為構(gòu)成白云的水滴尺寸遠(yuǎn)大于大氣中的粒子(在本范例中,我們以液態(tài)水代表這些粒子,但實際上這些粒子多半是氮氣和氧氣分子)。因此,我們可以觀察到當(dāng)陽光在白云周圍產(chǎn)生散射時,并不會有顏色的偏移,但當(dāng)光線在大氣中散射時卻是有的。