| 小火龙果 |
2020-05-28 16:28 |
RP Fiber Power仿真设计掺铥光纤激光器代码详解
(* Ri/D>[ Demo for program"RP Fiber Power": thulium-doped fiber laser, \SooIEl@ pumped at 790 nm. Across-relaxation process allows for efficient Y;=GM:*H population of theupper laser level. !-Uq#Ea0/ *) !(* *)注释语句 2m,t<Y; ({<qs}H" diagram shown: 1,2,3,4,5 !指定输出图表 PTpGZ2FZ ; 1: "Powersvs. Position" !分号是注释;光纤长度对功率的影响 H,(4a2zx ; 2:"Variation of the Pump Power" !泵浦光功率变化对信号输出功率的影响 ._p^0UxT ; 3:"Variation of the Fiber Length"!信号输出功率vs 光纤长度的变化,仿真最佳光纤长度 ua!RwSo ; 4:"Transverse Profiles" !横向分布,横坐标为半径位置 2OwO|n ; 5:"Transition Cross-sections" !不同波长的跃迁横截面,横坐标波长,纵坐标为横截面 %'MR;hQsd8 m!WDXt include"Units.inc" !读取“Units.inc”文件中内容 vMYEP_lhK, eC='[W<a. include"Tm-silicate.inc" !读取光谱数据 V!f'
O@p[ :+<GJj_d+ ; Basic fiberparameters: !定义基本光纤参数 `08}y*E L_f := 4 { fiberlength } !光纤长度 r12e26_Ab No_z_steps := 50 {no steps along the fiber } !光纤步长,大括号{ }是注释,相当于备注 pnGDM)H7 r_co := 6 um { coreradius } !纤芯半径 ]#\/1!W N_Tm := 100e24 { Tmdoping concentration } !纤芯Tm离子掺杂浓度 S[y?> *#Iqz9X.Y3 ; Parameters of thechannels: !定义光信道 \4|osZ0y l_p := 790 nm {pump wavelength } !泵浦光波长790nm YH3[Jvzf4 dir_p := forward {pump direction (forward or backward) } !前向泵浦 SJO^.[ P_pump_in := 5 {input pump power } !输入泵浦功率5W nXW]9zC"/ w_p := 50 um {radius of pump cladding } !包层泵浦相应的半径 50um ?Lem|zo I_p(r) := (r <=w_p) { pump intensity profile } !泵浦光强度分布 A}CpyRVCn loss_p := 0 {parasitic losses of pump wave } !泵浦光寄生损耗为0 Lu[xoQ~I
txix
= l_s := 1940 nm {signal wavelength } !信号光波长1940nm pW5PF)([ w_s := 7 um !信号光的半径 yb-/_{Y I_s(r) := exp(-2 *(r / w_s)^2) !信号光的高斯强度分布 "uU[I,h loss_s := 0 !信号光寄生损耗为0 `cqZ;(^ M(.]?+ R_oc := 0.70 {output coupler reflectivity (right side) } !输出耦合反射率
++CL0S$e yHxi^D] ; Function for defining themodel: !定义模型函数,一定要有calc命令,否则函数只会被定义,但不会被执行 -hKtd3WbT calc r' J3\7N!u begin ]Czq
A c global allow all; !声明全局变量 9|2LuHQu+ set_fiber(L_f, No_z_steps, ''); !光纤参数 *Edr\P add_ring(r_co, N_Tm); [KsVI.gn def_ionsystem(); !光谱数据函数 C-;}a%c" pump := addinputchannel(P_pump_in, l_p,'I_p', loss_p, dir_p); !泵浦光信道 '?b.t2 signal_fw := addinputchannel(0, l_s, 'I_s',loss_s, forward); !前向信号光信道 pjNH0mZ signal_bw := addinputchannel(0, l_s, 'I_s',loss_s, backward); !后向信号光信道 6'JP%~QlS set_R(signal_fw, 1, R_oc); !设置反射率函数 y:dwx *Q9I finish_fiber(); Ts3(,Y end; 0@2pw2{Ru !gG\jC~n ; Display someoutputs in the Output window (on the right side): !在Output aera区域显示输出 ~f[91m!+ show "Outputpowers:" !输出字符串Output powers: \?NT,t=3J show"pump: ", P_out(pump):d3:"W" !输出字符串pump:和计算值(格式为3个有效数字,单位W) J.pe&1 show"signal: ",P_out(signal_fw):d3:"W" !输出字符串signal:和计算值(格式为3个有效数字,单位W) -0:B2B 'q*:+|" UE/N-K)` ; -------------
+( V+XT diagram 1: !输出图表1 d5tpw$A dWhF[q" "Powers vs.Position" !图表名称 ai~JY[ G+l9QaFv x: 0, L_f !命令x: 定义x坐标范围 <>K@#|%Y& "position infiber (m)", @x !x轴标签;@x 指示这些字符串沿坐标轴放置 Y\ G^W8 y: 0, 15 !命令y: 定义y坐标范围 -cnlj y2: 0, 100 !命令y2: 定义第二个y坐标范围 l%9nA.M' frame !frame改变坐标系的设置 :Qklbd[9qF legpos 600, 500 !图行在图表窗口中的位置(相对于左上角而言) s`"ALn8m hx !平行于x方向网格 AZadNuL/ hy !平行于y方向网格 ~*uxKEH w\3'wD! f: P(pump, x), !命令f: 定义函数图;P(pump, x)函数是计算x位置处的泵浦光功率 kn|z color = red, !图形颜色 0B[eG49 width = 3, !width线条宽度 kEs=N( "pump" !相应的文本字符串标签 Ue0Q| h f: P(signal_fw, x), !P(signal_fw ,x) 函数是计算x位置处的前向信号光功率 k0R;1lZ0n color = blue, z/t:gc. width = 3, <jRs/?1R "fw signal" Y&_1U/}h f: P(signal_bw, x), !P(signal_bw ,x) 函数是计算x位置处的后向信号光功率 O5p]E7/e color = blue, P1mPC style = fdashed, AAt<{ width = 3, ?#X`Eu "bw signal" #]5|Qhrr+ g_w4}!|
f: 100 * n(x, 2), !n(x ,2) 函数是计算x位置处激活粒子数在能级2上的占比 jZ>'q/ yscale = 2, !第二个y轴的缩放比例 J#y?^Qm$)< color = magenta, ^NTOZ0x~# width = 3, |d1%N'Ll style = fdashed, $MG. I[h "n2 (%, right scale)" $W;IW$ U-EX)S^T[{ f: 100 * n(x, 3), !n(x ,3) 函数是计算x位置处激活粒子数在能级3上的占比 C&ivjFf yscale = 2, D?_#6i;DJ color = red, |79!exVMBp width = 3, !S',V&Yb style = fdashed, ;{~F7:i "n3 (%, right scale)" md/Z[du:' ;{inhiySN jq&$YmWp ; ------------- wp,z~raaS diagram 2: !输出图表2 VNbq]L(g &xqr&(o "Variation ofthe Pump Power" s:/.:e_PU R`:NUGR x: 0, 10 0|:Ic, "pump inputpower (W)", @x oa?eK y: 0, 10 c#e_Fs y2: 0, 100 W+~ w frame =7mR#3yt hx *<! W k\ hy xW,(d5RtZ legpos 150, 150 VBssn]w pstQithS f: (set_P_in(pump, x);P_out(signal_fw)), !set_P_in(pump,x)改变泵浦信道功率;P_out(signal_fw)输出前向信号光 5Ffz^;i step = 5, O/\jkF color = blue, X?.bE!3= width = 3, gH0B[w ] "signal output power (W, leftscale)", !相应的文本字符串标签 v; ;X2 a1k finish set_P_in(pump, P_pump_in) \6Ze H E `)p,{T f: (set_P_in(pump,x); 100 * n_av(2)), !改变泵浦信号功率对能级2上激活粒子占比的影响 UG>OL2m>5 yscale = 2, v) q6 step = 5, BifA&o% color = magenta, @:xO5L}Io width = 3, WJU`
g "population of level 2 (%, rightscale)", S~F:%@,* finish set_P_in(pump, P_pump_in) =D4EPfQn1 |b/J$.R f: (set_P_in(pump,x); 100 * n_av(3)), !改变泵浦信号功率对能级3上激活粒子占比的影响 2`vCQV yscale = 2, "=<lPi step = 5, !o4xI? color = red, xM;gF2 width = 3, "ngYh]Git$ "population of level 3 (%, rightscale)", ('uYA&9 finish set_P_in(pump, P_pump_in) ]+':=&+: .KT+,Y A0rdQmrOL ; ------------- }]zmp/;a diagram 3: !输出图表3 S/d})8~. G"TPu_g "Variation ofthe Fiber Length" Whd4-pR8 0 \LkJ*i x: 0.1, 5 _|TE )h "fiber length(m)", @x uU.9*B=H9 y: 0, 10 7Nwi\#o "opticalpowers (W)", @y dY\"'LtF frame (4 {49b hx 9v
cUo?/ hy 9'toj%XQ h;4g#|, f: (set_L(x);P_out(signal_fw)), !改变光纤长度对信号光输出功率的影响 u."fJ2}l0X step = 20, /2dK*v0
color = blue, 4Ro(r
sO width = 3, L''0`a. +S "signal output" qqzQKN a
LmVOL{ ;f: (set_L(x);P_out(pump)), !改变光纤长度对泵浦信号输出功率的影响 mZ;yk( step = 20, color = red, width = 3,"residual pump" 2J4|7UwJ rY!uc! ! set_L(L_f) {restore the original fiber length } ZVp\5V* 0!vC0T[
kw-/h+lG ; ------------- -Ez| diagram 4: !输出图表4 >>$IHz4Z" eF8`an5S "TransverseProfiles" :LBe{Jbw cZ!s/^o?f I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) }=;>T)QmMO &YT7>z, x: 0, 1.4 * r_co /um CY>NU "radialposition (µm)", @x mLkZ4OZ y: 0, 1.2 * I_max *cm^2 R^B2J+O "intensity (W/ cm²)", @y ==XP}w)m y2: 0, 1.3 * N_Tm "DlCvjc frame [BQw$8+n_ hx oo Z-T>$ hy D`t e|K5 _).'SU)> f: N_dop(1, x * um,0), !掺杂浓度的径向分布 Oq[E\8Wn yscale = 2, 4|$D.`Wu color = gray, 68HX,t width = 3, f]'@Vt> maxconnect = 1, 9wq%Fnt "N_dop (right scale)" /5x`TT 4*+EUJ| f: I(pump, -1, x *um, 0) * cm^2, !泵浦光沿光纤径向的强度分布 Rm*}<JN31 color = red, D+SpSO7yg maxconnect = 1, !限制图形区域高度,修正为100%的高度 5./
(fgx> width = 3, ?UfZ VyHv+ "pump" 42wcpSp R&4E7wrdP f: I(signal_fw, -1,x * um, 0) * cm^2, !信号光沿光纤径向的强度分布 \W}EyA color = blue, `U g.c maxconnect = 1, kH&ZPAI width = 3, poe Xi\e!( "signal" 8zc!g|5" FvJSJ.;E, -1_Z*?=- ; ------------- Iv<9})2K diagram 5: !输出图表5 ob00(?;H Q
jBCkx]g "TransitionCross-sections" ltrSTH,kL <=inogf I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) T8441qo{> 7P`1)juA9 x: 1450, 2050 $dnHUBB "wavelength(nm)", @x pMquu&Td y: 0, 0.6 )j6>b-H "cross-sections(1e-24 m²)", @y \Zv =?\ frame 'i(p@m<' hx =CVT8(N* hy "B}08C,? w+37'vQ f: s12_Tm(x * nm) /1e-24, !Tm3+吸收截面与波长的关系 V`M,d~:Pr" color = red, rl^LSz width = 3, &JlR70gdHi "absorption" NNE,|
: f: s21_Tm(x * nm) /1e-24, !Tm3+发射截面与波长的关系 cA%U color = blue, VjqdKQeVq width = 3, ]= NYvv>H "emission" LgNNtZ&F l1)pr{A
|
|