| 小火龙果 |
2020-05-28 16:28 |
RP Fiber Power仿真设计掺铥光纤激光器代码详解
(* cd&sAK" Demo for program"RP Fiber Power": thulium-doped fiber laser, 7](aPm8 pumped at 790 nm. Across-relaxation process allows for efficient Bh UGMK population of theupper laser level. *DgRF/S *) !(* *)注释语句 >:bXw#w] hg7_ZjO diagram shown: 1,2,3,4,5 !指定输出图表 F Jp<J ; 1: "Powersvs. Position" !分号是注释;光纤长度对功率的影响 "sSY[6Kp! ; 2:"Variation of the Pump Power" !泵浦光功率变化对信号输出功率的影响 vkLKzsN' ] ; 3:"Variation of the Fiber Length"!信号输出功率vs 光纤长度的变化,仿真最佳光纤长度 mwMc AUD]2 ; 4:"Transverse Profiles" !横向分布,横坐标为半径位置 I.gF38Mx ; 5:"Transition Cross-sections" !不同波长的跃迁横截面,横坐标波长,纵坐标为横截面 WR9-HPF Ou_2UT include"Units.inc" !读取“Units.inc”文件中内容 (sW$2a 1j]vJ4R_\ include"Tm-silicate.inc" !读取光谱数据 % kaV?j *m8{yh ; Basic fiberparameters: !定义基本光纤参数 L=@8Zi!2< L_f := 4 { fiberlength } !光纤长度 ?X+PNw|pf No_z_steps := 50 {no steps along the fiber } !光纤步长,大括号{ }是注释,相当于备注 @8Cja.H r_co := 6 um { coreradius } !纤芯半径 pwvmb\ N_Tm := 100e24 { Tmdoping concentration } !纤芯Tm离子掺杂浓度 9JqT"zj 3F8KF`* ; Parameters of thechannels: !定义光信道 R].xT-1 l_p := 790 nm {pump wavelength } !泵浦光波长790nm Jsa;pG=3& dir_p := forward {pump direction (forward or backward) } !前向泵浦 $Ji;zR4, P_pump_in := 5 {input pump power } !输入泵浦功率5W j|>^wB w_p := 50 um {radius of pump cladding } !包层泵浦相应的半径 50um t9.| i H I_p(r) := (r <=w_p) { pump intensity profile } !泵浦光强度分布 `[&%fTW+ loss_p := 0 {parasitic losses of pump wave } !泵浦光寄生损耗为0 DH"_.j OGcW]i l_s := 1940 nm {signal wavelength } !信号光波长1940nm Ml,in49
w_s := 7 um !信号光的半径 DFbhy I_s(r) := exp(-2 *(r / w_s)^2) !信号光的高斯强度分布 :<H4hYt2 loss_s := 0 !信号光寄生损耗为0 5S ) N&% RS|*3
$1 R_oc := 0.70 {output coupler reflectivity (right side) } !输出耦合反射率 d/b\:[B@ 1*f/Y9 Z ; Function for defining themodel: !定义模型函数,一定要有calc命令,否则函数只会被定义,但不会被执行 !Ld[`d.|R! calc ^e]h\G begin E_0i9 global allow all; !声明全局变量 g)}q3-<AK> set_fiber(L_f, No_z_steps, ''); !光纤参数 ;3iWV"&_A add_ring(r_co, N_Tm); tlYB'8bJY def_ionsystem(); !光谱数据函数 E;YD5^B pump := addinputchannel(P_pump_in, l_p,'I_p', loss_p, dir_p); !泵浦光信道 %v0;1m signal_fw := addinputchannel(0, l_s, 'I_s',loss_s, forward); !前向信号光信道 ex.^V sf_ signal_bw := addinputchannel(0, l_s, 'I_s',loss_s, backward); !后向信号光信道 od^o9(.W^ set_R(signal_fw, 1, R_oc); !设置反射率函数 /2cn`dR, finish_fiber(); FjW%M;H end; mln%Rd6u/ i&-g ; Display someoutputs in the Output window (on the right side): !在Output aera区域显示输出 }+giQw4 show "Outputpowers:" !输出字符串Output powers: %6x3G show"pump: ", P_out(pump):d3:"W" !输出字符串pump:和计算值(格式为3个有效数字,单位W) ($!g= 7 show"signal: ",P_out(signal_fw):d3:"W" !输出字符串signal:和计算值(格式为3个有效数字,单位W) @P">4xVX{ A~;.9{6J[t PB#EU9 ; ------------- \SBAk
h diagram 1: !输出图表1 /PpZ6ne~[ EiS2-Uh*TT "Powers vs.Position" !图表名称 keJ-ohv) !>fi3#Fi x: 0, L_f !命令x: 定义x坐标范围 u}7r\MnwK, "position infiber (m)", @x !x轴标签;@x 指示这些字符串沿坐标轴放置 lr[&*v?h y: 0, 15 !命令y: 定义y坐标范围 )o;n2T#O y2: 0, 100 !命令y2: 定义第二个y坐标范围 {~V_6wY g frame !frame改变坐标系的设置 BPu>_$C legpos 600, 500 !图行在图表窗口中的位置(相对于左上角而言) 6Z-[-0o+g hx !平行于x方向网格 ^oEaE#I hy !平行于y方向网格 7U-?Rd nIl<2H]F` f: P(pump, x), !命令f: 定义函数图;P(pump, x)函数是计算x位置处的泵浦光功率 kZQ$Iv+^( color = red, !图形颜色 -];Hb'M.!e width = 3, !width线条宽度 &>Z p}.V "pump" !相应的文本字符串标签 CWkAc5 f: P(signal_fw, x), !P(signal_fw ,x) 函数是计算x位置处的前向信号光功率 /4 .]L~ color = blue, lAAP V width = 3, *jl_,0g] "fw signal" Q[bIkvr| f: P(signal_bw, x), !P(signal_bw ,x) 函数是计算x位置处的后向信号光功率 nN(Q}bF color = blue, J!:v`gb#@A style = fdashed, _m1WY7 width = 3, h}%yG{'/M= "bw signal" 30h1)nQ$h} J|b:Zo9<f" f: 100 * n(x, 2), !n(x ,2) 函数是计算x位置处激活粒子数在能级2上的占比 GEAVc9V yscale = 2, !第二个y轴的缩放比例 #Y>d@ color = magenta, !e0/1 j= width = 3, LESF*rh= style = fdashed, Ec['k&*7, "n2 (%, right scale)" q?oJ=]m" "Oy&6rrr f: 100 * n(x, 3), !n(x ,3) 函数是计算x位置处激活粒子数在能级3上的占比 Xqas[:)7+ yscale = 2, nb|"dK| color = red, =Y5*J# width = 3, dUpOg{I.x style = fdashed, u=6{P(5$j "n3 (%, right scale)" Pl[WCh kN$L8U8f EB>rY ; ------------- mQt?d?6 diagram 2: !输出图表2 B9h> ,6a }l;lv "Variation ofthe Pump Power" E%>){Y) FZtILlw x: 0, 10 7 m!e\x8 "pump inputpower (W)", @x As*59jkB y: 0, 10 h2edA#bub y2: 0, 100 E- rXYNfy frame &MF%zJ6 hx #FV `*G
hy <S
M%M? legpos 150, 150 5>[j^g+@ @T+pQ)0{{ f: (set_P_in(pump, x);P_out(signal_fw)), !set_P_in(pump,x)改变泵浦信道功率;P_out(signal_fw)输出前向信号光 \)T4NN step = 5, Ic&Jhw;]z color = blue, |/AY!Y3 width = 3, p uLQ_MNV "signal output power (W, leftscale)", !相应的文本字符串标签 6995r% finish set_P_in(pump, P_pump_in) u<{uUui}$v g3uI1]QXLg f: (set_P_in(pump,x); 100 * n_av(2)), !改变泵浦信号功率对能级2上激活粒子占比的影响 cX/["AM yscale = 2, c6)q(zz step = 5, !U!}*clYL color = magenta, K|LS VN?K width = 3, +Udlt)H "population of level 2 (%, rightscale)", c/E6}OWA finish set_P_in(pump, P_pump_in) o\YF_235 }n JG<rY f: (set_P_in(pump,x); 100 * n_av(3)), !改变泵浦信号功率对能级3上激活粒子占比的影响 JMq00_ yscale = 2, FucLcq2Z step = 5, \
>(;t#> color = red, yjP;o`z% width = 3, W:16qbK "population of level 3 (%, rightscale)", jVpk) ;vC finish set_P_in(pump, P_pump_in) @rVBL<!o, -3T6ck ! G+/8Q^ ; ------------- ii@O&g diagram 3: !输出图表3 DHV#PLbN$ <ctn_"p Z "Variation ofthe Fiber Length" 0oi
=}lV xFY;aK x: 0.1, 5 #ab=]}2W_g "fiber length(m)", @x W@x
UR-}51 y: 0, 10 7=ZB?@bU~ "opticalpowers (W)", @y =/rIXReY frame <j.bG 7 hx X|7Y|0o hy $h-5PwHp ymBevL f: (set_L(x);P_out(signal_fw)), !改变光纤长度对信号光输出功率的影响 \Podyh/;? step = 20, FPu"/4v& color = blue, QMfa~TH#p width = 3, ~sQN\]5VW "signal output" /0mbG!Ac e/m,PE ;f: (set_L(x);P_out(pump)), !改变光纤长度对泵浦信号输出功率的影响 mq?5|` step = 20, color = red, width = 3,"residual pump" yjVPaEu]aU 8uX1('+T* ! set_L(L_f) {restore the original fiber length } \gL
H_$} )-2o}KU]> r c7"sIkV ; ------------- wvm`JOP:A diagram 4: !输出图表4 {7)D/WY5 "Kz=ZC "TransverseProfiles" 1Q6WpS MX?K3=j @> I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) oO|zRK1;/ Yo
c N@s x: 0, 1.4 * r_co /um D!~-53f@ "radialposition (µm)", @x HZdmL-1Z^+ y: 0, 1.2 * I_max *cm^2 _gB`;zo "intensity (W/ cm²)", @y *Ri?mEv
hF y2: 0, 1.3 * N_Tm .Mw'P\GtM frame ho_;;y hx d9[*&[2J| hy 3Bz0B a :xfD>K f: N_dop(1, x * um,0), !掺杂浓度的径向分布 QH6Lb%]/ yscale = 2, dvk?A$ color = gray, l'(Cxhf.W width = 3, m El*{] maxconnect = 1, |*7uF<ink6 "N_dop (right scale)" \CL |=8[2 <w}k9(Ds f: I(pump, -1, x *um, 0) * cm^2, !泵浦光沿光纤径向的强度分布 3mgFouX2x, color = red, Uq&ne1 maxconnect = 1, !限制图形区域高度,修正为100%的高度 uRKCvsi sX width = 3, REhXW_x "pump" 86~HkHliv N7*JL2Rnq f: I(signal_fw, -1,x * um, 0) * cm^2, !信号光沿光纤径向的强度分布 G.O0*E2V color = blue, Zbxd,|<| maxconnect = 1, "TKf"zc width = 3, y>u+.z a| "signal" BSG_),AH hZ.Sj~>7` jcN84AaRFI ; ------------- LGPy>,! diagram 5: !输出图表5 ,-t3gc1~X 7[QU
*1bk "TransitionCross-sections" \w^iSK- [bJ/$A I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) b/ 'fC%o, /H@k;o x: 1450, 2050 &Hc8u,| "wavelength(nm)", @x =V_}z3b y: 0, 0.6 Oe^3YOR#j{ "cross-sections(1e-24 m²)", @y Q$W0>bUP frame hyL3fkMJ, hx
C+,;hj hy R*E/E YU[93@mCh f: s12_Tm(x * nm) /1e-24, !Tm3+吸收截面与波长的关系 RM-|?% color = red, [Zl width = 3, &6PZX0M "absorption" on(F8%]zE f: s21_Tm(x * nm) /1e-24, !Tm3+发射截面与波长的关系 G[r_|-^S color = blue, ;Mc\>i/ width = 3, ,|"tLN*m "emission" D<#+ R" -Duy:C6W
|
|