切換到寬版
  • 廣告投放
  • 稿件投遞
  • 繁體中文
    • 694閱讀
    • 3回復

    [原創(chuàng)]RP 系列激光分析設計軟件 | 示例案例:光纖中的非線性自聚焦 [復制鏈接]

    上一主題 下一主題
    離線小火龍果
     
    發(fā)帖
    923
    光幣
    2136
    光券
    0
    只看樓主 倒序閱讀 樓主  發(fā)表于: 01-12
    模型描述 zu<3^=3  
    這里,我們研究光纖中非線性自聚焦的細節(jié)。首先,我們計算了由于非線性自聚焦的影響,大模面積光纖的基模如何收縮。 ~G `J r  
    模式解算器實際上忽略了非線性效應。然而,只需幾行腳本代碼,我們就可以存儲包括其非線性變化在內(nèi)的折射率分布,然后重新計算光纖模式。重復這一過程,直到我們得到一個自洽的解: W-D[z#)/Y  
    e<5Y94YE  
    dr := 0.05 um 2[up+;%Y  
    defarray I[0, 200 um, dr] yr{B5z,  
    n_f_nl(r) := n_f(r) + n2 * (if r <= r_max then I~[r]) xR908+>5  
      { nonlinear refractive index profile } El6bD% \G  
    store_I(P) := 3hS6j S  
      for r := 0 to 2 * r_co step dr do "^%Z'ou  
        I[r] := P * I_lm(0, 1, lambda, r) h\y-L~2E  
        { ignore index changes outside 2 * r_co, where the intensity is small } FT/amCRyT  
    aws"3O% uW  
    CalcNonlinearMode(P) := ez*jjm  
      { Calculate the lowest-order mode with self-focusing for the power P. } 1S%}xsR0  
      begin Q)^g3J  
        var A, A_l; n )K6i7]xk  
        A := 0; jvs[ /  
        repeat f0oek{  
          A_l := A; V8"Wpl9Cz  
          store_I(P); >n!ni(  
          set_n_profile("n_f_nl", r_max); SxMj,u%X/  
          A := A_eff_lm(0, 1, lambda); k/lFRi-i  
        until abs(A_l / A - 1) < 1e-6; cwynd=^nC  
      end  Q2\  
    考慮到光纖的非線性,可以對光束的傳播進行數(shù)值模擬。為此,我們需要定義一個數(shù)值網(wǎng)格,并為光束傳播設置各種其他輸入: nY^Nbh0  
    x_max := 30 um { maximum x or y value } Z nXejpj)D  
    N := 2^5 { number of grid points in x and y direction } s[c^"@HT  
    dx := 2 * x_max / N { transverse resolution } hz)9"B\S  
    z_max := 30 mm { fiber length } nb+m.X  
    dz := 100 um { longitudinal resolution } Z$;"8XUM  
    N_z := z_max / dz { number of z steps } gb 4pN  
    N_s := 100 { number of sub-steps per dz step } >o[|"oLO  
    e|'N(D}h*  
    P_11 := 4 MW ("Dv>&w9  
    A0%(x, y) := sqrt(P_11) * A_lm_xy(1, 1, lambda, x, y)  { initial field } X~RH^VYv  
    BUC,M:J+H  
    calc C6@t  
      begin X+ f9q0  
        bp_set_grid(x_max, N, x_max, N, z_max, N_z, N_s); kh?. K#  
        bp_define_channel(lambda); xm