RP Fiber Power 光纖激光器及激光器設計軟件一如何實現某些目標

如何實現某些目標 1 如何開始使用 RP Fiber Power

作為該軟件的初學者,您可以通過以下方式開始:

l  在電腦上安裝軟件。

l  在工作文件夾中復制演示文件夾。(不要編輯原始文件。)在Windows Explorer中雙擊其中一個腳本文件來啟動軟件。在軟件中,您可以使用 File | Open 打開更多文件。閱讀文件并按F8(Execute | Graphics)執行。

l  調用交互式輸入表單,它允許您生成腳本,只需填寫一些欄并按下這些表單上的執行按鈕即可。

2 如何導入光譜數據

利用已經從 RP Photonics 以.inc 文件的形式獲得的光纖數據文件是相當容易的。它們存儲在一個特定的文件夾中,如果您得到任何此類新文件,只需將它們放入該文件夾即可。(如果訪問權限有問題,可以將該文件夾使用到其他位置,請參見 Options | Change location of fiber data folder,。

如果你從其他來源得到光譜數據,你首先需要把它們轉換成正確的格式。該軟件要求函數定義波長相關的有效躍遷截面。(參見定義簡單激光活性離子的頁面)如果只需要幾個波長的躍遷截面,您可以簡單地定義如下功能:

s_a_Yb(lambda):=

  ifabs(lambda - 975e-9 < 1e-9

  then2.6e-24

  else ifabs(lambda - 1030e-9) < 1e-9

  then48e-27

s_e_Yb(lambda):=

  ifabs(lambda - 975e-9) < 1e-9

  then2.5e-24

  else ifabs(lambda - 1030e-9) < 1e-9

  then635e-27

然而,對于許多不同的波長值,使用列表數據的函數通常比較方便。理想情況下,這些數據以 CSV(逗號分隔值)格式的純文本文件形式提供。作為一個例子,我們假設名為 Yb cross sections.dat 的數據文件如下所示:

850,22, 0.014

852,27.54, 0.02107

854,32.8, 0.02864

...

其中,第一列為波長,單位為納米(例如,從850到1150,以2為步長),第二列和第三列分別以 1e-27 m2 為單位給出吸收和發射截面。然后可以在腳本中使用以下命令:

defarrays12[850, 1150, 2]

defarrays21[850, 1150, 2]

readlistl, s12[l], s21[l]

  from"Yb cross sections.dat"

s_a_Yb(l):= if 850e-9 <= l <= 1150e-9

  then1e-27 * s12~~[1e9 * l]

s_e_Yb(l):= if 850e-9 <= l <= 1150e-9

  then1e-27 * s21~~[1e9 * l]

前兩行定義數組。(第三個參數是波長步長尺寸。)readlist 命令將文件中的數據加載到兩個數組中。最后,這兩個函數訪問這些數組。if-then 結構避免訪問索引范圍之外的數組元素,在這種情況下返回0。(在這種光譜區域中,橫截面函數返回0很重要。)

可能需要更復雜的操作,例如,當數據點不等距時。在這種情況下,您可以使用RP Photonics的技術支持。

3如何選擇合適的數值參數

對于沒有超短脈沖的放大器和激光仿真,有兩種類型的數值參數,必須選擇合理的數值:

l  沿光纖的步長Nz(見第2.1節)應如此之小,以至于在任何一步內,光功率都不會發生強烈變化,除了光信道的功率非常低,因而飽和效應較弱。在腳本中,這個步長數作為set_fiber()函數的第二個參數給出。如有疑問,增加該值,直到計算出的輸出功率或類似參數沒有顯著變化。

l  橫向分辨率也應足夠高,即摻雜環的定義應足夠精細。建議對均勻摻雜區域進行細分,以準確地考慮到光強在這些區域內可能會發生實質性變化。同樣,建議檢查增加的分辨率是否對計算結果有顯著影響。

對于超短脈沖傳播的仿真,需要了解以下附加方面:

l  即使光纖非線性會導致單個z步長中脈沖的劇烈變化,也不一定要增加沿光纖的步數Nz。所使用的算法自動執行所需數量的較小的子步驟,以保持所需的數值精度。只有脈沖屬性能檢索到預先定義的數值網格上的脈沖,而不是根據自動完成的子步長在中間位置的脈沖。

l  必須適當選擇數值網格參數:

l  時間寬度T必須足夠大,以完全包含時間脈沖分布——不僅對于初始脈沖,而且對于整個傳播。

注:如果脈沖的某一部分到達時間軌跡的末端,它不會消失,而是回到另一端。

注意,模擬受激拉曼散射需要高的時間分辨率。例如,對于二氧化硅光纖,時間分辨率應優于10 fs,理想情況下甚至優于5 fs。

l  頻率分辨率將與網格的時間寬度成反比。因此,如果色散分布的光譜狹窄特征相關,則可能需要更長的時間網格。

l  在頻域中,分辨率為1/T(即網格時間寬度的倒數),總覆蓋光譜范圍為N/T。該范圍必須足夠大,以完全包含光纖內所有位置的光譜脈沖分布。

l  如果需要覆蓋寬的時間范圍并且具有高的時間分辨率(即寬的頻率范圍),則網格點的數量需要很大。在簡單的情況下,28=256點甚至更少是足夠的,而在其他一些情況下,需要212=4096點甚至更多。

正確選擇這些參數是用戶的責任。如果數字分辨率增加一倍,則可以通過將T和N增加一倍(使用雙倍的時間范圍,但相同的光譜范圍)或僅將N增加一倍(使用雙倍的光譜范圍)來檢查結果是否有顯著變化。

4如何以文本形式導出計算數據

您可能主要使用軟件的圖形輸出,但在某些情況下,需要將計算數據寫入文本文件。例如,您可能需要這樣一個文件來將數據導入其他軟件。常用的格式是CSV(逗號分隔值)格式,每行一個數據點上都有信息。

為此,您可以使用下面描述的幾行腳本代碼。請注意,這并不強制您在腳本級別上處理所有內容:您仍然可以使用交互式表單,并在帶有附加定義的頁面上插入腳本行。然后將這些行插入到生成的腳本中。

通常,使用循環結構將多個數據點上的信息寫入輸出文件。在第一個示例中,我們將位置相關的正向和反向傳播信號功率值導出到一個文件中:

write"; position, forward power, backward power", >"Test.dat"

forz := 0 to L_f step L_f / No_z_steps do

write[z:f1, ", ",

     P(signal1_fw,z):d4, ", ",

     P(signal1_bw,z):d4],

    >>"Test.dat"

在這里,第一個腳本行將一個單行頭寫入輸出文件。然后,for循環用于循環變量z通過一系列值。對于每個值,write命令用于將三個值寫入輸出文件的一行:z位置和正向和反向功率。>>選項指示生成的行附加到現有文件。

如果不需要開頭的標題行,也可以使用以下版本:

write [z:f1, ", ",

     P(signal1_fw, z):d4, ", ",

     P(signal1_bw, z):d4],

    for z := 0 to L_f step L_f / No_z_steps,

>"Test.dat"

在這里,使用單個write命令,具有用于寫入多行的for選項。

在其他情況下,您需要修改循環中的某些模型輸入。然后,這些功率必須相應地重新計算。例如,我們可以改變放大器的信號輸入功率,并將其與相應的信號輸出功率一起寫入文件:

write[P_in:f2, ", ",

      (set_P_in(signal1_fw,P_in); P_out(signal1_fw)):d4],

     forP_in := 0 to 0.5 step 0.05,

     >"Test.dat"

在這里,第二行的復合表達式首先設置信道的輸入功率signal1_fw,這將導致重新計算所有光功率和激發,然后檢索新的輸出功率。

對于更復雜的文件輸出和輸入(例如關于其他文件編碼或二進制文件),有諸如open_file()、write()等專門的函數–有關詳細信息,請參閱交互式幫助系統。

5如何跟蹤腳本中的錯誤

開發腳本時,不可避免地會出現偶然的錯誤。但是,這個軟件提供了一些在合理時間內跟蹤的方法。這里有一些提示。

如果由于腳本解釋器遇到嚴重錯誤(例如語法錯誤)而無法執行腳本,請嘗試通過閱讀左下角日志區域的內容來獲取一些線索。

如果腳本執行,可能會出現更困難的情況,但不會按預期執行。以下操作可能會有所幫助:

  自V7版本以來,該軟件包含一個強大的調試器。這樣,您就可以一個命令一個命令地執行腳本命令。此外,還可以調試表達式。

.在腳本中,放置一些show命令以在輸出區域中顯示一些量。這可能為你提供可能出了問題的線索。

如果您想嘗試一些簡化版本的腳本代碼,您可以通過在代碼前插入一行(*并在代碼后插入一行*)來臨時“注釋”一些代碼行。

有關您使用的函數,請參閱手冊或在線幫助。確保你正確理解他們的作用。

作為一般建議,只需一步一步地引入更復雜的特性,并在每一步之后進行一些測試。否則,很難找出哪一步是錯誤的。

在困難情況下,考慮呼叫技術支持。

6如何建模雙包層光纖設備

在雙包層有源光纖中,信號或激光波有一個纖芯,通常為單模或僅支持很少的傳播模式,而泵浦光被注入一個更大的內包層。只有纖芯摻雜了激光活性離子。由于泵浦光與纖芯的強度分布有一定的重疊,一些泵浦光被吸收,可以用于纖芯的激光過程。

利用該軟件對包層泵浦裝置進行建模的最簡單方法是根據內包層的面積定義一個具有大強度分布的泵浦信道。通常情況下,假設頂帽強度分布填充整個包層和纖芯區域。然而,請注意,該模型基于一個重要的假設,即內包層中的強度分布在光纖中傳播期間保持不變。特別是對于設計簡單、在圓形內包層中具有中心纖芯,這一假設可能被違背,因為內包層的某些模式的功率優先被吸收,并且在一段距離后,模式分布使得吸收變弱。然后,強度分布在纖芯區域呈下降趨勢。

有各種方法可以緩解這個問題。例如,可以使用對稱性降低的包層形狀(例如“D”形),或者強烈彎曲光纖以增強模式混合。這種方法可能并不完全有效,即,泵浦的吸收率可能仍然低于模型中的假設值。不幸的是,很難(由于各種原因)準確地模擬這種情況。

然而,在徑向對稱光纖設計的情況下,如果包層模式的數量不太多,則可以進行更精確的建模。這在之前描述的演示文件中完成。這里,我們使用模式求解器來計算所有的包層模式。然后,問題出現了,輸入泵浦功率如何分布在包層模式上;這取決于泵浦源的光束特性和耦合光學,當然也取決于對準。第一種猜測是功率在所有包層模式上的均勻分布,盡管這通常不符合平滑的強度分布。

7如何建模光纖激光器的鎖模

光纖激光器的鎖模是一個先進而復雜的科學課題,因為這種激光器有許多不同的工作模式,而且這些模式經常表現出復雜的細節,部分原因是強非線性相互作用。利用RP Fiber Power,可以模擬光纖激光器中的脈沖演化。基本上,我們將在使用的腳本中按照以下步驟進行操作:

定義所有光學組件的參數,即所有涉及的光纖和可能的其他組件,如濾波器、可飽和吸收器等。

定義脈沖網格后,設置一個參數與預期腔內脈沖大致相似的啟動脈沖。選擇輸出耦合器前面的位置作為諧振腔中的起始位置是很方便的,因為這樣可以很容易地從該位置的內腔脈沖獲得輸出脈沖。

  定義隨后通過所有諧振腔組件傳輸當前脈沖的函數,以便執行完整的往返行程。然后可以多次調用該函數(例如,100次),希望脈沖參數收斂。(如果未正確選擇諧振腔屬性和初始脈沖屬性,則可能無法實現收斂。)

如果實際建模增益飽和,則需要大量往返(可能數百萬次),直到脈沖能量達到穩定狀態。如果對增益動力學不感興趣,那么根據給定輸入脈沖能量達到的穩態,重新計算每次往返后的激光增益就更為方便。通常只模擬100次往返行程就足夠了。

  我們不僅可以定義顯示最終脈沖的圖表,還可以定義許多往返行程中脈沖參數的演變。

  每次往返后,便于存儲脈沖,以便以后使用交互式脈沖顯示窗口方便地檢查脈沖。

有一個全正常色散皮秒光纖激光器的演示文件。

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP