RP Fiber Power 光纖激光器及激光器設(shè)計(jì)軟件一腳本語言18-19
18 使用模式求解器
RP Fiber Power包含一個(gè)模式求解器,它可以根據(jù)給定的折射率分布計(jì)算光纖的所有導(dǎo)模的特性。此功能可以如下使用:
首先,定義一個(gè)函數(shù),如n_f(r),給出折射率分布。(請(qǐng)參閱下面的示例。)
(注意,不能定義函數(shù)n(r),因?yàn)楹瘮?shù)名n是為檢索激發(fā)密度的預(yù)定義函數(shù)保留的。)
然后,通過調(diào)用函數(shù)set_n_profile("n_f", r_core),將折射率函數(shù)與光纖關(guān)聯(lián)起來,其中第一個(gè)參數(shù)是函數(shù)名,r_core是纖芯半徑。軟件假設(shè)折射率在這個(gè)半徑之外保持不變。
稍后允許修改折射率分布,以查看這如何影響模式。只需再次調(diào)用set_n_profile()函數(shù)即可。
如果一個(gè)腳本包含多個(gè)光纖設(shè)備,這些設(shè)備可能具有不同的模式分布。只需對(duì)這些函數(shù)使用不同的函數(shù)名,如n1和n2。
最后,可以使用以下函數(shù)檢索所有模式屬性:
.ModeExists(l, m, lambda)返回1,如果相應(yīng)的模式存在,否則返回0。
A_lm(l, m, lambda, r)是半徑r處波長lambda的模式指數(shù)l和m的振幅。必須將其與cos(lphi)或sin(l phi)相乘,才能獲得完整的模式函數(shù)。該函數(shù)(包括方位角因子)經(jīng)過歸一化,使得其平方模量在整個(gè)區(qū)域(纖芯和包層)上的積分是統(tǒng)一的。
A_lm_xy(l, m, lambda, x, y)是笛卡爾坐標(biāo)x和y位置的振幅,假設(shè)cos(lphi)依賴性。為了獲得sin(l phi)依賴性,取A_lm_xy(-l, m, lambda, x, y)(即負(fù)l的值)。還有一個(gè)函數(shù)A_lm_xy_oam%(l,m, lambda, x, y),提供軌道角動(dòng)量模式的復(fù)振幅(振幅與

成比例)。
I_lm(l, m, lambda, r)是1 W光功率的強(qiáng)度。它是A_lm(l,m, lambda, r)的平方模量。它不包括非零l的方位角依賴性;要包括這一點(diǎn),必須將它乘以2 cos(l phi)^2或2 sin(l phi)^2。
I_lm_xy(l, m, lambda, x, y)是笛卡爾坐標(biāo)x和y位置的強(qiáng)度,假設(shè)cos(lphi)依賴于正l,sin(l phi)依賴于負(fù)l。
A_ff_lm(l, m, lambda, ax,ay)是角坐標(biāo)ax和ay(弧度,而不是度數(shù))的遠(yuǎn)場振幅。
I_ff_lm(l, m, lambda, ax,ay)是角坐標(biāo)ax和ay(弧度,而不是度數(shù))的遠(yuǎn)場強(qiáng)度。
beta_lm(l, m, lambda)計(jì)算模式的傳播常數(shù),即單位傳播距離的相位變化。(這與功率計(jì)算無關(guān),但可能對(duì)其他目的感興趣。)
w_lm_x(l, m, lambda)和w_lm_y(l, m, lambda)分別計(jì)算具有

依賴性(為正l)或依賴性(為負(fù)l)的模式函數(shù)在x或y方向上的近場模式半徑(基于二階矩)。
A_eff_lm(l, m, lambda)計(jì)算模式的有效模式面積,定義為

注意,這不是x和y方向模半徑積的π倍。
A_eff_lm(l, m, lambda) 計(jì)算模式的有效模式面積。注意,這不是x和y方向模半徑積的π倍。
p_core_lm(l, m, lambda) 計(jì)算在纖芯內(nèi)模式功率的分?jǐn)?shù)。
NoModes(lambda)返回模式數(shù),不考慮偏振。例如,對(duì)于單模光纖(僅限LP01模式)為1,對(duì)于具有LP01和LP11模式的雙模光纖為2。
NoModes_h(yuǎn)(lambda)與NoModes(lambda)相似,但它考慮了l不為零的模式的不同方向(cos和sin版本)。例如,對(duì)于模式LP01和LP11的光纖為3,因?yàn)楹笳呔哂泻桶姹尽?/p>
l_max(lambda)返回所有模式的最大l值。
m_max(lambda)返回所有模式的最大m值。
cut_off(l, m)返回模式的截止波長,即模式存在的波長。
進(jìn)一步的函數(shù)可用于計(jì)算群速度和色散。
一旦這些函數(shù)中的一個(gè)被第一次調(diào)用以獲得某個(gè)波長值,就可以計(jì)算并存儲(chǔ)該波長的所有導(dǎo)模的特性。因此,即使同時(shí)計(jì)算了其他波長的模式屬性,也可以非常快速地訪問該波長下其他模式的屬性。
計(jì)算出的模式強(qiáng)度分布也可以直接用于光信道的定義。可以指定'I_lm(1,1,cos)',而不是常規(guī)強(qiáng)度分布函數(shù)的名稱,其中選擇了具有

依賴性的LP11模式。對(duì)于l=0的模式,必須省略φ依賴關(guān)系;例如,使用'I_lm(0,1)'。然后軟件自動(dòng)將波長、徑向坐標(biāo)和方位角坐標(biāo)傳遞給模式求解器。
折射率函數(shù)的一些示例和更多詳細(xì)信息:
簡單的階躍折射率光纖設(shè)計(jì)可定義如下:
n_cl := 1.44 { cladding index }
n_co := n_cl + 0.35e-3 { core index }
n_f(r) := if r <= r_core then n_co elsen_cl
如果你知道光纖的數(shù)值孔徑,你就可以從中計(jì)算出纖芯折射率:
n_co := sqrt(n_cl^2 + NA^2)
折射率函數(shù)也可以有第二個(gè)參數(shù),即波長。這樣,就可以考慮到材料色散。例子:
n_f(r, lambda) :=
if r<= r_core
then n_germanosilicate(lambda)
else n_silica(lambda)
其中,假設(shè)已經(jīng)定義了n_germanosilicate(l)和 n_silica(l)函數(shù)(例如,使用Sellmeier方程)。根據(jù)已知的鍺濃度分布,也可以在二氧化硅和鍺的函數(shù)之間進(jìn)行插值。
拋物線折射率分布可以定義為
r_core := 10e-6 { radius of the parabolicregion }
dn_max := 50e-3 { maximum increase of index }
n_f(r) := if r <= r_core
then n_cl + dn_max * (1 - (r / r_core)^2)
else n_cl
在某些情況下,有一個(gè)包含折射率數(shù)據(jù)的文本列表。例如,列表可能包含等距的數(shù)據(jù)對(duì)。此類配置文件可用于使用以下命令定義函數(shù):
n_cl := 1.44 { cladding index }
r_core := 10e-6 { core radius }
dr := 2e-6 { radial resolution }
defarray n_f[0, r_core, dr]
readlist r, n_f[1e-6 * r]:
0, 1.442
2, 1.444
4, 1.444
6, 1.443
8, 1.441
10, 1.44
n_f(r) := if r <= r_core then n_f~~[r]else n_cl
折射率函數(shù)只使用纖芯區(qū)域中的列表值,并對(duì)其進(jìn)行插值。
19 模擬光束傳播
定義光束傳播設(shè)備
通過類似 bp_set_device(1)的函數(shù)調(diào)用,您可以定義一個(gè)光束傳播設(shè)備,該設(shè)備以1到100之間的數(shù)字參考。例如,下面的函數(shù)調(diào)用定義網(wǎng)格或光信道,總是參考當(dāng)前設(shè)置的光束傳播設(shè)備。
如果只使用一個(gè)設(shè)備,則不需要使用該函數(shù);默認(rèn)情況下將使用設(shè)備1。
定義傳播方向
默認(rèn)情況下,光場始終從z=0向上傳播。但是,可以通過調(diào)用bp_set_direction(backward)來反轉(zhuǎn)傳播方向。這樣做的效果是,初始光場此后將始終存儲(chǔ)在最大z位置,并且光場將向后傳播。稍后可以調(diào)用bp_set_direction(forward),以便再次向前傳播。
定義曲率半徑
如果當(dāng)前光束傳播裝置的波導(dǎo)是彎曲的,則定義x和y方向的曲率半徑。曲率半徑可能取決于z;例如,波導(dǎo)可能在開始時(shí)是直的,然后出現(xiàn)一個(gè)尖銳的彎曲。這種情況可以通過函數(shù)調(diào)用來定義,比如bp_set_R('R_x(z)', '0')。這兩個(gè)參數(shù)分別表示x和y方向的曲率半徑的數(shù)學(xué)表達(dá)式,這可能取決于z。在給定的示例中,x方向的曲率半徑由先前定義的函數(shù) R_x(z)給出,而y方向沒有曲率。(無限曲率半徑指定為零。)
定義數(shù)值網(wǎng)格
數(shù)值網(wǎng)格定義了可以定義某些輸入(例如折射率值或摻雜濃度)并獲得輸出(例如場振幅)的位置。
一旦設(shè)置了一個(gè)光束傳播設(shè)備,它的數(shù)值網(wǎng)格就可以用一個(gè)函數(shù)調(diào)用來定義,比如bp_set_grid(x_max, N_x, y_max, N_y, z_max, N_z, N_s)。一些細(xì)節(jié):
網(wǎng)格覆蓋了x的范圍,從–x_max到+x_max,步長為N_x。步長大小為2x_max/N_x(注意系數(shù)2),步長必須是2的冪。
類似規(guī)則適用于y方向。
z范圍為0到z_max,N_z步長,因此z步長大小為z_max/N_z。
但是,對(duì)于光束傳播計(jì)算,每個(gè)間隔dz = z_max / N_z都有N_s的數(shù)值子步長。如果需要更精細(xì)的數(shù)值步長而不存儲(chǔ)所有中間振幅分布,則使用N_s大于1。請(qǐng)注意,折射率、曲率半徑、摻雜濃度和泵浦強(qiáng)度等量只計(jì)算每個(gè)完整的z步長,而不是每個(gè)子步長。因此,如果降低N_z并相應(yīng)增加N_s,結(jié)果的準(zhǔn)確性可能會(huì)受到影響。
在仿真過程中,N_s的值可以自動(dòng)更改,例如根據(jù)局部功率或峰值強(qiáng)度。為此,我們使用一個(gè)函數(shù)調(diào)用,比如bp_set_N_s('bp_I_max(z)/1e5', u),它為每個(gè)z步長后重新計(jì)算N_s分配一個(gè)z相關(guān)表達(dá)式(第一個(gè)參數(shù))。該值必須介于0(有效地取為1)和106之間。如果第二個(gè)參數(shù)為非零值,則將在每個(gè)子步長中重新計(jì)算空間因子(由折射率和曲率半徑產(chǎn)生),否則,僅針對(duì)每個(gè)網(wǎng)格位置(默認(rèn)情況下)。請(qǐng)注意,不應(yīng)經(jīng)常更改N_s,因?yàn)槊看涡枰匦掠?jì)算某些量。
請(qǐng)注意,如果在定義光信道后重新定義了網(wǎng)格,則會(huì)刪除所有光信道,因?yàn)樗鼈兌急仨毷褂孟嗤木W(wǎng)格參數(shù)。
定義反射邊界
默認(rèn)情況下,數(shù)值網(wǎng)格具有周期性邊界條件。例如,達(dá)到最大x值邊界的波將在另一側(cè)重新進(jìn)入網(wǎng)格。這種行為在物理上并不現(xiàn)實(shí),但只有當(dāng)一個(gè)重要的光能到達(dá)邊界時(shí)才重要。
可以通過調(diào)用bp_set_reflection('x')(僅用于x方向的反射)、bp_set_reflection('y')或bp_set_reflection('xy')(用于所有邊界的反射)來反射網(wǎng)格邊界。
另一種可能性是通過一個(gè)Boolean表達(dá)式定義一個(gè)反射面,這個(gè)Boolean表達(dá)式可以依賴于x和y。對(duì)于該邊界之外的所有點(diǎn),它必須計(jì)算為非零值。例如, bp_set_reflection('(x / a_x)^2 + (y / a_y)^2 >= 1')定義橢圓反射邊界。
請(qǐng)注意,這種邊界只對(duì)傳播中足夠小的z步長具有高度反射。否則,某些場可能穿透反射區(qū)。反射區(qū)域的數(shù)值實(shí)現(xiàn)只需在所有振幅上引入π相移(每一步長),而不是通過實(shí)施零振幅,因?yàn)檫@將導(dǎo)致一些光功率損耗。
定義克爾非線性性
如果需要考慮克爾效應(yīng)的自相位調(diào)制(SPM)和交叉相位調(diào)制(XPM),可以使用bp_set_n2('n2(x,y)')等函數(shù)調(diào)用來設(shè)置非線性指數(shù)n2。該參數(shù)可以依賴于x和y,或者也可以依賴于徑向坐標(biāo)r。例如,纖芯中的非線性可能比包層中的強(qiáng)。
不同的光信道(見下文)可以通過交叉相位調(diào)制相互作用。這種相互作用的相對(duì)強(qiáng)度取決于偏振方向。如果所有涉及的波具有相同的偏振,則相對(duì)強(qiáng)度為2(假定默認(rèn)值)。對(duì)于兩個(gè)交叉偏振光信道,可以使用bp_set_XPM(2/3)設(shè)置系數(shù)為2/3。
默認(rèn)情況下,SPM和XPM應(yīng)用于每個(gè)數(shù)值步長。但是,通過調(diào)用bp_set_SPM_steps(N),可以只應(yīng)用每N個(gè)數(shù)值步長;每個(gè)交互作用的強(qiáng)度都相應(yīng)地增加。該特征可用于節(jié)省計(jì)算時(shí)間,但如果場分布在選定的有效步長內(nèi)發(fā)生實(shí)質(zhì)性變化,則可能會(huì)影響結(jié)果的準(zhǔn)確性。
注意:不要將上述函數(shù)與適用于超短脈沖傳播模型的set_n2()和set_XPM()函數(shù)混淆(見第5.21節(jié))。
定義拉曼非線性性
如果需要考慮受激拉曼散射(SRS),可以使用bp_set_SRS('g_R')這樣的函數(shù)調(diào)用來設(shè)置拉曼增益系數(shù)gR(以m/W為單位)。這個(gè)參數(shù)是一個(gè)傳遞拉曼增益系數(shù)的表達(dá)式。它可以依賴于所涉及信道的光頻差df。(如果只有兩個(gè)不同頻率的信道相互作用,則使用一個(gè)常數(shù)就足夠了。)此外,拉曼增益系數(shù)可以取決于徑向坐標(biāo)r或笛卡爾坐標(biāo)x和y;例如,纖芯中的拉曼非線性可能比包層中的強(qiáng)。
拉曼相互作用只與具有不同波長的光信道有關(guān)。最多可以有100對(duì)交互信道。例如,可以有多個(gè)不同波長的泵浦信道,這會(huì)導(dǎo)致多個(gè)信號(hào)信道的拉曼放大。因此,正確定義相互作用的頻率依賴性是很重要的(見上文)。
例如,對(duì)于二氧化硅,可以使用以下非常簡單的表達(dá)式:1.1e-13* (df / 14e12) * exp(-(df / 17e12)^10)。在13THz頻率偏移附近,它提供了≈10-13m/W的峰值。請(qǐng)注意,鍺硅酸鹽玻璃可以顯示出更高的值。
拉曼相互作用不適用于頻率相同的光信道,即使沒有規(guī)定增益系數(shù)的頻率依賴性。
注意,不包括自發(fā)拉曼散射。因此,如果輸入信號(hào)的功率為零,就不會(huì)出現(xiàn)斯托克斯信號(hào)。然而,人們可以通過使用弱輸入信號(hào)(根據(jù)量子噪聲波動(dòng)的功率)來模擬這種效應(yīng)。
默認(rèn)情況下,拉曼非線性應(yīng)用于每個(gè)數(shù)值步長。但是,通過調(diào)用bp_set_SRS_steps(N),可以只應(yīng)用每N個(gè)數(shù)值步長;每個(gè)交互作用的強(qiáng)度都相應(yīng)地增加。該特征可用于節(jié)省計(jì)算時(shí)間,但如果場分布在選定的有效步長內(nèi)發(fā)生實(shí)質(zhì)性變化,則可能會(huì)影響結(jié)果的準(zhǔn)確性。
定義激光活性摻雜
如果光纖中含有激光活性離子或作為飽和吸收劑的離子,則其摻雜濃度必須通過一個(gè)函數(shù)調(diào)用來定義,如bp_set_N_dop('Yb', 'N_dop(x, y, z)').。第一個(gè)參數(shù)表示離子的類型,第二個(gè)參數(shù)給出了導(dǎo)致?lián)诫s濃度的數(shù)學(xué)表達(dá)式;它可以依賴于x、y和z坐標(biāo)。
請(qǐng)注意,在定義任何光信道之前,必須定義激光活性摻雜。
在光束傳播仿真中,軟件使用腳本語言中所述的簡單增益系統(tǒng)。從本質(zhì)上講,激光活性離子只有一個(gè)亞穩(wěn)態(tài)能級(jí),即較高的激光能級(jí)。例如,如果激光活性離子為鐿類型(Yb),則躍遷截面必須定義為s_a_Yb(l)和s_e_Yb(l)(分別用于吸收和發(fā)射),并且上態(tài)壽命存儲(chǔ)在變量tau_Yb中。這些數(shù)據(jù)通常從光譜數(shù)據(jù)文件中讀取。
請(qǐng)注意,更復(fù)雜的增益模型,例如涉及能量傳輸和上轉(zhuǎn)換,不能用于光束傳播的情況下,而只能用于功率傳播模型。
所有光信道(見下文)都與激光活性離子相互作用,只要它們具有相關(guān)波長的非零躍遷截面。此外,還可以通過函數(shù)調(diào)用定義固定的泵浦強(qiáng)度分布,如bp_set_I_p('I_p(x, y, z)', lambda_p)。這里,第一個(gè)參數(shù)是計(jì)算光纖中任何位置的泵浦強(qiáng)度的表達(dá)式,第二個(gè)參數(shù)是泵浦波長。立即計(jì)算并存儲(chǔ)整個(gè)網(wǎng)格的泵浦強(qiáng)度。允許在隨后調(diào)用該函數(shù)或bp_set_I_s()時(shí)定義最多10個(gè)這樣的附加泵浦(或信號(hào))波,其作用完全相同,但其名稱更清晰,對(duì)于使用附加信號(hào)波。通過再次調(diào)用這樣的函數(shù),可以修改相應(yīng)的強(qiáng)度分布。通過使用一個(gè)空字符串(或“0”)作為第一個(gè)參數(shù)來調(diào)用它,可以刪除具有相應(yīng)波長的波。請(qǐng)注意,強(qiáng)度分布總是只與先前定義的激光活性摻雜劑的摻雜分布有關(guān)。
這種離子可以有多種類型,參數(shù)可以獨(dú)立設(shè)置。這意味著bp_set_N_dop()被多次調(diào)用,每次都使用不同的離子名稱。此后,可以調(diào)用上面描述的所有其他函數(shù)來為相應(yīng)的離子類型定義進(jìn)一步的細(xì)節(jié)。還可以使用bp_set_N_dop()返回已定義的離子類型(不更改它),方法是使用第二個(gè)參數(shù)(通常是摻雜濃度)作為空字符串來調(diào)用它。例如,這就允許我們判斷哪個(gè)離子類型是用于進(jìn)一步調(diào)用函數(shù)的,比如bp_set_I_p()或bp_excitation()。
光與激光活性離子(或可飽和吸收離子)的相互作用有不同的仿真方式:
默認(rèn)情況下,軟件總是根據(jù)所有光信道的局部光強(qiáng)度和泵浦波來計(jì)算穩(wěn)態(tài)解。為此,它計(jì)算離子的局部穩(wěn)態(tài)激發(fā)密度并存儲(chǔ)這些值。
也可以進(jìn)行動(dòng)態(tài)仿真。這里,假設(shè)光場在一定時(shí)間間隔內(nèi)與激光活性離子相互作用,其寬度由函數(shù)bp_set_dt(dt)定義。這個(gè)時(shí)間步長尺寸應(yīng)該很小,這樣激發(fā)在一個(gè)步長中不會(huì)發(fā)生強(qiáng)烈變化。通過設(shè)置負(fù)的步長尺寸,可以完全抑制光場對(duì)激發(fā)的反作用,這對(duì)某些測(cè)試有用,而且在已知反作用較弱的情況下也可以節(jié)省時(shí)間。
稍后可以更改時(shí)間步長尺寸。例如,當(dāng)激光開始時(shí),我們可以在Q開關(guān)激光仿真中減少它,因?yàn)榧す鈭霭l(fā)展得更快。
如果時(shí)間步長設(shè)置為零,則表示應(yīng)計(jì)算穩(wěn)態(tài)值(默認(rèn)情況下完成)。例如,可以首先使用此設(shè)置,執(zhí)行單個(gè)傳播以獲得存儲(chǔ)的穩(wěn)態(tài)激發(fā)作為初始狀態(tài),然后使用正時(shí)間步長尺寸來模擬附加影響下的進(jìn)一步演化。
初始激發(fā)密度均為零。它們可以根據(jù)給定的泵浦強(qiáng)度分布而改變:如果離子只與泵浦波作用一段時(shí)間t,如果該值為正值,那么函數(shù)bp_do_pumping(t)會(huì)更新激發(fā)密度。如果為零,則計(jì)算穩(wěn)態(tài)值(僅用于泵浦)。
另一種可能是用函數(shù)bp_set_excitation(x, y, z, n)直接設(shè)置激發(fā)密度,其中最后一個(gè)參數(shù)是分?jǐn)?shù)激發(fā)(介于0和1之間)。
在任何時(shí)候,都可以用函數(shù)bp_excitation(x, y, z)來檢索局部激發(fā)密度(更精確地說,是激發(fā)離子的分?jǐn)?shù))。
如果應(yīng)包括Kramers–Kronig效應(yīng)(與增益變化相關(guān)的相位變化),則調(diào)用函數(shù)bp_set_alpha(alpha),其中參數(shù)是線寬增強(qiáng)因子。一個(gè)z步長中的相位變化是線寬增強(qiáng)因子乘以振幅增益。
定義光信道
可以定義當(dāng)前所選光束傳播設(shè)備的多個(gè)光信道,用函數(shù)調(diào)用如signal:= bp_define_channel(lambda),其中l(wèi)ambda是信道的真空波長,函數(shù)結(jié)果是信道數(shù)(例如,第二個(gè)定義的信道為2)。
之后,我們可以做更多的定義,這些定義都只適用于當(dāng)前的光信道:
bp_set_n(func$)定義折射率分布。參數(shù)是一個(gè)字符串,它根據(jù)x和y定義一個(gè)數(shù)學(xué)表達(dá)式。例如,'n_f(sqrt(x^2+ y^2))'將引用以前定義的徑向坐標(biāo)函數(shù)。
請(qǐng)注意,需要為每個(gè)光信道定義折射率分布。它可以在信道之間有所不同,因?yàn)檫@些信道可以具有不同的波長和/或偏振方向。
如果折射率也依賴于z位置,則可以使用bp_set_n_z(func$, test$)和折射率函數(shù),該函數(shù)可能還依賴于z。第二個(gè)參數(shù)是用于確定是否必須重新計(jì)算某個(gè)z位置的折射率的表達(dá)式:只有當(dāng)測(cè)試表達(dá)式更改才重新計(jì)算。例如,如果測(cè)試表達(dá)式僅為z,則總是重新計(jì)算;如果測(cè)試表達(dá)式為trunc(z/mm),則僅每毫米重新計(jì)算一次。
可以對(duì)折射率值應(yīng)用平滑處理程序,其中每個(gè)值都被包含相鄰值的加權(quán)平均值(使用高斯權(quán)重函數(shù))替換。這對(duì)已經(jīng)平滑的分布幾乎沒有影響,但減少了階躍折射率分布的某些數(shù)值偽影。通過定義上述高斯函數(shù)的半徑值,可以設(shè)置平滑的強(qiáng)度,使用bp_set_n_smooth(r) 定義上述高斯函數(shù)的半徑值,其中r可以介于0(無平滑)和10(強(qiáng)平滑)之間;1表示大多數(shù)情況下僅使用直接相鄰的點(diǎn)進(jìn)行平滑。特別是在橫向分辨率較高,實(shí)際折射率分布不太陡的情況下,建議使用較大的平滑參數(shù)值。
bp_set_loss(func$)定義線性損耗分布。其參數(shù)是x和y的函數(shù),其值表示以dB/m為單位的局部傳播損耗。例如,使用bp_set_loss('((x^2+ y^2)/(10 um)^2)^4'),可以定義在網(wǎng)格邊緣急劇上升的損耗。
請(qǐng)注意,可以引入此類損耗以抑制來自網(wǎng)格邊界的反射。此外,還可以指定負(fù)損耗,即增益。(但是,對(duì)于可飽和激光增益,應(yīng)該使用bp_set_N_dop())。
bp_set_A_factors(z, 'f%(x,y)')定義了一個(gè)復(fù)因子,當(dāng)達(dá)到某個(gè)z位置時(shí),它將應(yīng)用于空間域中的復(fù)場振幅。這可以用來濾除某一點(diǎn)上的包層模式,或者在自由空間仿真中實(shí)現(xiàn)薄透鏡或孔徑。(可為任何z位置定義此類系數(shù)。)如果給定的z值為負(fù)值,則在每個(gè)z步之后應(yīng)用這些振幅。
bp_set_A_f_factors(z,'f%(f_x, f_y)')與函數(shù)bp_set_A_factors()相同,但在空間傅立葉域中。
bp_set_A0(func$)定義當(dāng)前信道的初始幅度分布為一個(gè)x和y的函數(shù)。例如,'sqrt(P/ (0.5 * pi * w0^2)) * exp(-(x^2 + y^2) / w0^2)'定義一個(gè)高斯函數(shù),功率P,高斯半徑w0和0復(fù)相位。振幅按比例縮放,使其模量平方等于光學(xué)強(qiáng)度(功率每單位面積)。
bp_copy_A0(d, ch, z) 復(fù)制某個(gè)光束傳播設(shè)備d和信道ch在z位置的場分布,作為當(dāng)前傳播信道的初始場分布。(涉及的光信道必須有相同的波長。)例如,可以復(fù)制同一傳播信道末端的場,以便在不需要更多內(nèi)存的情況下開始進(jìn)一步傳播。如果兩個(gè)場有不同的數(shù)值網(wǎng)格(在尺寸或分辨率方面),則使用二次插值計(jì)算新的場值。
bp_set_color(s$)定義色彩設(shè)置在光束分布查看器窗口。其參數(shù)可以是光束分布查看器中可能的設(shè)置:'default', red', 'green'.'blue' 或 'user'。
bp_set_label(s$)設(shè)置當(dāng)前信道的文本標(biāo)簽,它可以顯示在光束分布查看器。
請(qǐng)注意,所有這些設(shè)置都必須針對(duì)每個(gè)光信道進(jìn)行;例如,需要為每個(gè)光信道定義折射率分布,并且可能取決于其波長。
通常,在對(duì)計(jì)算的量使用任何函數(shù)之前,所有這些設(shè)置都必須完成(見下文)。但是,稍后還可以設(shè)置光纖屬性;這將重置已計(jì)算的分布數(shù)據(jù),以便在以后需要時(shí)重新計(jì)算。
可以使用諸如bp_set_channel(j)這樣的函數(shù)調(diào)用在已經(jīng)定義的信道之間進(jìn)行切換,其中j是信道號(hào)。
稍后,您可以通過調(diào)用函數(shù)bp_remove_channel(j)來移除光信道。如果隨后對(duì)許多波長進(jìn)行計(jì)算,這是明智的,因?yàn)樵S多信道的數(shù)據(jù)積累可能導(dǎo)致主內(nèi)存不足。
獲取計(jì)算的量
現(xiàn)在,人們可以獲得光纖中光場的各種計(jì)算的特性:
函數(shù)bp_A%(x, y, z)為給定位置和當(dāng)前選擇的光信道提供復(fù)振幅。
bp_I(x, y, z)是光強(qiáng)度(振幅的平方模量)。
bp_I_max(z)是分布的最大光學(xué)強(qiáng)度。
bp_P(z)是光功率,即整個(gè)區(qū)域的綜合強(qiáng)度。
bp_x_m(z)是給定z坐標(biāo)下光束分布的平均x位置。計(jì)算為強(qiáng)度分布的“重心”。以類似的方式,bp_y_m(z)是平均y位置。
bp_w_x(z)和bp_w_y(z)根據(jù)強(qiáng)度分布的第二個(gè)力矩分別計(jì)算x和y方向的光束半徑。
bp_A_eff(z)計(jì)算有效模式面積

請(qǐng)注意,這與基于強(qiáng)度分布的第二個(gè)力矩的光束半徑?jīng)]有直接關(guān)系;這些量之間的關(guān)系取決于強(qiáng)度分布的形狀。
bp_A_f%(fx, fy, z) 在傅立葉空間提供振幅分布。這是通過應(yīng)用在x-y平面的二維傅立葉變換到振幅分布計(jì)算的,與bp_A%(x,y, z)獲得的一樣。
例如,參數(shù)fx=20000對(duì)應(yīng)于x方向每米20000次振蕩。如果真空波長為1000 nm,則對(duì)應(yīng)于光纖外(20000/m)/(1/1μm)=20 mrad的傳播角,僅考慮x方向。
請(qǐng)注意,此函數(shù)僅限于低于奈奎斯特頻率的參數(shù);例如,最大fx值為0.5/dx,其中dx是x方向的分辨率。如果選擇足夠高的空間分辨率,對(duì)于接近奈奎斯特頻率的頻率,傅立葉變換的振幅通常會(huì)很小。
bp_theta_x(z)和bp_theta_y(z)計(jì)算光束的半角發(fā)散,如果該位置的光束分布被釋放到真空中。(例如,在玻璃內(nèi)部,實(shí)際的發(fā)散角較小。請(qǐng)注意,如果折射率不均勻,玻璃內(nèi)的折射率可能會(huì)變化。)此計(jì)算基于傅里葉空間中振幅分布的第二個(gè)力矩。
bp_M(jìn)2_x(z)和bp_M(jìn)2_y(z)分別計(jì)算x和y方向的光束質(zhì)量M2因子。如果已知波前是平的,例如對(duì)于無損光纖中的模式,可以使用更快版本的bp_M(jìn)2_x_col(z)和bp_M(jìn)2_y_col(z)。
默認(rèn)情況下,坐標(biāo)位于四舍五入到網(wǎng)格點(diǎn)的函數(shù)中。但是,在調(diào)用其他函數(shù)之前,可以使用bp_set_interpol(1)這樣的函數(shù)調(diào)用來獲得線性插值。使用bp_set_interpol(2),獲得二次插值,參數(shù)0將關(guān)閉插值。
存儲(chǔ)光束分布
在某些情況下,需要存儲(chǔ)計(jì)算的光束分布。例如,可能需要模擬光束通過某個(gè)設(shè)備的多次往返,并在每次往返后存儲(chǔ)光束分布。為此,可以為一些分布創(chuàng)建存儲(chǔ)區(qū)域,將分布存儲(chǔ)在該區(qū)域中,并調(diào)用這些分布:
bp_set_storage(x_max, N_x, y_max,N_y, N)定義一個(gè)存儲(chǔ)區(qū)域,具有給定擴(kuò)展名和x、y方向點(diǎn)數(shù)的數(shù)字網(wǎng)格(如函數(shù)bp_set_grid())。在該函數(shù)調(diào)用之后,可以用0到N之間的索引(上面調(diào)用中的最后一個(gè)參數(shù))存儲(chǔ)光束分布。
bp_store_profile(z, j)使用存儲(chǔ)位置j將當(dāng)前光束分布存儲(chǔ)在存儲(chǔ)區(qū)域的給定z位置。
bp_get_stored()(不帶任何參數(shù))使bp_I(x,y, z)或bp_P(z)等函數(shù)訪問存儲(chǔ)的分布(見上文)。
bp_save_grid(FileName$)將當(dāng)前光束傳播設(shè)備的所有網(wǎng)格數(shù)據(jù)(即其所有信道的3D振幅分布)保存到具有給定名稱的二進(jìn)制文件中。如果成功則返回1,否則返回0。
. bp_load_grid(FileName$)從具有給定名稱的文件中加載當(dāng)前光束傳播設(shè)備(即其所有通道)的所有網(wǎng)格振幅數(shù)據(jù)。如果成功則返回1,否則返回0。
在光束分布查看器中,z坐標(biāo)表示存儲(chǔ)分布的索引(0…N)。
修改光束分布查看器的設(shè)置
通過某些函數(shù),您可以更改光束分布查看器表單的設(shè)置,通常情況下,會(huì)手動(dòng)更改該表單中的設(shè)置:
bpv_show(r) 顯示(非零r)或隱藏光束分布查看器。
bpv_set_device(j) 將某個(gè)光束傳播設(shè)備設(shè)置為查看器的源。
bpv_set_channel(j)設(shè)置某個(gè)光束傳播信道。
bpv_set_domain(s$)用變量'real space'或'Fourier space'設(shè)置空間域。
bpv_set_interpolation(s$)用變量'none'、'linear'或'quadratic'設(shè)置插值。
bpv_set_resolution(s$)用變量'coarse'、'middle'或'fine設(shè)置分辨率。
bpv_set_color(s$)用變量'default'、'red'、'green'、'blue'或'user'設(shè)置顏色。
bpv_set_plot(s$)用變量'intensity'、'amplitude'或'function'設(shè)置繪圖。
bpv_set_function(s$)設(shè)置繪圖函數(shù)。
bpv_set_log_scaling(r) 打開(r≠0)或關(guān)閉(r=0)對(duì)數(shù)縮放。
bpv_set_remove_fast_phase(r) 打開(r≠0)或關(guān)閉(r=0)以移除z方向的快速相位變化。
bpv_set_plane(s$)使用參數(shù)'xy'、'xz'或'yz'設(shè)置顯示平面。
bpv_set_show_parameters(r) 打開或關(guān)閉參數(shù)顯示。
bpv_set_show_grid_lines(r) 打開或關(guān)閉網(wǎng)格線的顯示。
bpv_set_scaling(j) 將顏色值的比例設(shè)置為10到+10之間的某個(gè)分貝數(shù)。
bpv_set_zoom(j) 設(shè)置縮放級(jí)別。x和y坐標(biāo)范圍減小了系數(shù)2j。
bpv_set_position(r) 將x、y或z位置(取決于顯示平面)設(shè)置為某個(gè)值(以米為單位,如果為yz或xz平面設(shè)置了傅立葉空間,則以1/m為單位)。
工程師必備
- 項(xiàng)目客服
- 培訓(xùn)客服
- 平臺(tái)客服
TOP




















