| 小火龙果 |
2020-05-28 16:28 |
RP Fiber Power仿真设计掺铥光纤激光器代码详解
(* #$U/*~m $ Demo for program"RP Fiber Power": thulium-doped fiber laser, 73u97oe>1 pumped at 790 nm. Across-relaxation process allows for efficient pfc"^Gi8 population of theupper laser level. Ht}?=ZzW *) !(* *)注释语句 5(1c?biP& {QdoIPr3 diagram shown: 1,2,3,4,5 !指定输出图表 dqBN_P% ; 1: "Powersvs. Position" !分号是注释;光纤长度对功率的影响 ;c|_z 9+ ; 2:"Variation of the Pump Power" !泵浦光功率变化对信号输出功率的影响 k`' *niz ; 3:"Variation of the Fiber Length"!信号输出功率vs 光纤长度的变化,仿真最佳光纤长度 VL"Cxs
; 4:"Transverse Profiles" !横向分布,横坐标为半径位置 <7Yh<(R e^ ; 5:"Transition Cross-sections" !不同波长的跃迁横截面,横坐标波长,纵坐标为横截面 XLYGhM /Trbr]lWy include"Units.inc" !读取“Units.inc”文件中内容 t5 ^hZZ V4Qy^nn1 include"Tm-silicate.inc" !读取光谱数据 x<w-j[{k_K zFYzus`> ; Basic fiberparameters: !定义基本光纤参数 H;AMRL o4z L_f := 4 { fiberlength } !光纤长度 mss.\ No_z_steps := 50 {no steps along the fiber } !光纤步长,大括号{ }是注释,相当于备注 G"L`9E<0V r_co := 6 um { coreradius } !纤芯半径 i;qij[W. z N_Tm := 100e24 { Tmdoping concentration } !纤芯Tm离子掺杂浓度 1x##b[LC 4kV$JV.l ; Parameters of thechannels: !定义光信道 C*RPSk l_p := 790 nm {pump wavelength } !泵浦光波长790nm g%ys| dir_p := forward {pump direction (forward or backward) } !前向泵浦 lc [)Ev P_pump_in := 5 {input pump power } !输入泵浦功率5W H<nA*Zf2@R w_p := 50 um {radius of pump cladding } !包层泵浦相应的半径 50um 5TeGdfu @ I_p(r) := (r <=w_p) { pump intensity profile } !泵浦光强度分布 f4 +P2j loss_p := 0 {parasitic losses of pump wave } !泵浦光寄生损耗为0 qJtLJ<=1 `|92!Ej l_s := 1940 nm {signal wavelength } !信号光波长1940nm TZg1,Z w_s := 7 um !信号光的半径 (6}7z+ I_s(r) := exp(-2 *(r / w_s)^2) !信号光的高斯强度分布 ;>5]KNj
loss_s := 0 !信号光寄生损耗为0 9@Cu5U] b>#dMRK R_oc := 0.70 {output coupler reflectivity (right side) } !输出耦合反射率 9`H4"H>yG c;a<nTLn ; Function for defining themodel: !定义模型函数,一定要有calc命令,否则函数只会被定义,但不会被执行 Ix(,gDN calc EKQ>hww8 begin M,oZ_tY% global allow all; !声明全局变量 E 8$S0u;` set_fiber(L_f, No_z_steps, ''); !光纤参数 s`v$r,N0 add_ring(r_co, N_Tm); y
GmFi def_ionsystem(); !光谱数据函数 j]- _kjt pump := addinputchannel(P_pump_in, l_p,'I_p', loss_p, dir_p); !泵浦光信道 Azr|cKu] signal_fw := addinputchannel(0, l_s, 'I_s',loss_s, forward); !前向信号光信道 rY@9nQ\>g signal_bw := addinputchannel(0, l_s, 'I_s',loss_s, backward); !后向信号光信道 Pv)^L set_R(signal_fw, 1, R_oc); !设置反射率函数 Bk5 ELf8pL finish_fiber(); _2<UcC~ end; w|0:0Rc~u sS4V(:3s ; Display someoutputs in the Output window (on the right side): !在Output aera区域显示输出 6u`$a&dR'l show "Outputpowers:" !输出字符串Output powers: {+Wknm% show"pump: ", P_out(pump):d3:"W" !输出字符串pump:和计算值(格式为3个有效数字,单位W) J5<16}* show"signal: ",P_out(signal_fw):d3:"W" !输出字符串signal:和计算值(格式为3个有效数字,单位W) dd
+lQJ c VH+3o?nrT CQ{{J{pU" ; ------------- w~=xO_% diagram 1: !输出图表1 |S<!'rY 3'0Jn6( "Powers vs.Position" !图表名称 Fs =)*6}& \W=Z`w3 x: 0, L_f !命令x: 定义x坐标范围 ;v.J
D7 "position infiber (m)", @x !x轴标签;@x 指示这些字符串沿坐标轴放置 JnqP`kYbTE y: 0, 15 !命令y: 定义y坐标范围 :>H{? y2: 0, 100 !命令y2: 定义第二个y坐标范围 v:w^$]4 frame !frame改变坐标系的设置 ^LXsU]
R legpos 600, 500 !图行在图表窗口中的位置(相对于左上角而言) TnKOr~ @* hx !平行于x方向网格 cBOt=vg,5 hy !平行于y方向网格 ~*^o[~x]\ >@-.rkd( f: P(pump, x), !命令f: 定义函数图;P(pump, x)函数是计算x位置处的泵浦光功率 =Uo*-EH color = red, !图形颜色 XJwgh y?( width = 3, !width线条宽度 d6??OO=~>M "pump" !相应的文本字符串标签 tqp i{e f: P(signal_fw, x), !P(signal_fw ,x) 函数是计算x位置处的前向信号光功率 *mYGs )| color = blue, Ul 85-p width = 3, iO18FfM_ "fw signal" /t2H%#v{ f: P(signal_bw, x), !P(signal_bw ,x) 函数是计算x位置处的后向信号光功率 497 l2}0 color = blue, ,[dvs&-* style = fdashed, B
T
{cTj0W width = 3, 0=40}n&` "bw signal" )"2eN3H/ mjk<FXW f: 100 * n(x, 2), !n(x ,2) 函数是计算x位置处激活粒子数在能级2上的占比 ];=|))ky" yscale = 2, !第二个y轴的缩放比例 8|L 5nQ color = magenta, i3$G)W width = 3, Pj BBXI1i style = fdashed, )Q}Q -Zt "n2 (%, right scale)" +;oR_]l Ri::Ek3qu f: 100 * n(x, 3), !n(x ,3) 函数是计算x位置处激活粒子数在能级3上的占比 z?UEn#E2 yscale = 2, 1L?W+zMO color = red, ;/IXw>O(/ width = 3, m?8o\|i, style = fdashed, X_Pbbx_j "n3 (%, right scale)" IEkbVIA( G$CSZrP. YzEOfHL, ; ------------- j|p=JrCJ diagram 2: !输出图表2 =n@\m< 2$o\`^dy "Variation ofthe Pump Power" f3.oc9G
CalWJ x: 0, 10 K05T`+N, "pump inputpower (W)", @x Li 9$N"2 y: 0, 10 iHQ$L# 7 y2: 0, 100 ol
{N^fiK frame ?UeV5<TewS hx )?LZg<< hy W58%Zz4a legpos 150, 150 ?T|0"|\"' 66_=bd(9 f: (set_P_in(pump, x);P_out(signal_fw)), !set_P_in(pump,x)改变泵浦信道功率;P_out(signal_fw)输出前向信号光 @2_E9{ T step = 5, 23Q 88z color = blue, vuJEPn% width = 3, z|(<Co8#. "signal output power (W, leftscale)", !相应的文本字符串标签 8"V1h72vcW finish set_P_in(pump, P_pump_in) 7lwFxP5QT 0[7"Lhpd f: (set_P_in(pump,x); 100 * n_av(2)), !改变泵浦信号功率对能级2上激活粒子占比的影响 N6%L4v8-}X yscale = 2, ^L.'At step = 5, A.$P1zwC color = magenta, 0]nveC$ width = 3,
ZcTjOy? "population of level 2 (%, rightscale)", KAu>U3\/ finish set_P_in(pump, P_pump_in) |S:erYE,G iYlkc f: (set_P_in(pump,x); 100 * n_av(3)), !改变泵浦信号功率对能级3上激活粒子占比的影响 WWOjck# yscale = 2, =&FaMR2 step = 5, W!+=`[Ff color = red, =OTu8_ d0t width = 3, FNo.#Z5+b "population of level 3 (%, rightscale)", 6
Pdao{P finish set_P_in(pump, P_pump_in) :$P1ps3B gp'k(rGH Np$ue
}yr ; ------------- :C={Z}t/F diagram 3: !输出图表3 t2m7Yh5B -q?, "Variation ofthe Fiber Length" HTm`_}G9 |U$ "GI x: 0.1, 5 3hA5"G+7 "fiber length(m)", @x )YwLj&e4tf y: 0, 10 ho^jmp "opticalpowers (W)", @y 'tX}6wurf frame KYz@H#M hx j;-2)ZLm hy xNLgcb@v> p+7#`iICE f: (set_L(x);P_out(signal_fw)), !改变光纤长度对信号光输出功率的影响 |nqN95'u+] step = 20, ,;<M+V3+ color = blue, vM:c70= width = 3, qT#NS&T!- "signal output" 7>AMzNj i#*lK7 ;f: (set_L(x);P_out(pump)), !改变光纤长度对泵浦信号输出功率的影响 pP#|: % step = 20, color = red, width = 3,"residual pump" kD)]\ ?t/\ ID ! set_L(L_f) {restore the original fiber length } |M18/{ +NeoGnj #GUD^#Jh ; ------------- s'Qmrs
a diagram 4: !输出图表4 Qx_N,1>S E#!.;AQ "TransverseProfiles" vw-y:,5`t8 z&jASL I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) ob|^lAU k(@W
z>aCv x: 0, 1.4 * r_co /um b8Hzl!zO "radialposition (µm)", @x kN 0N18E y: 0, 1.2 * I_max *cm^2 9eR";Wm]) "intensity (W/ cm²)", @y >Qg-dJt[ y2: 0, 1.3 * N_Tm -av=5hm frame *V[I&dKq hx O.-A)S@ hy ,)VAKrSg lB!M;2^)X f: N_dop(1, x * um,0), !掺杂浓度的径向分布 @iBmOt>3 yscale = 2, %:OX^^i; color = gray, 0}'/3Q width = 3, t5 P8?q\ maxconnect = 1, b7gN|Hw5 H "N_dop (right scale)" DUg[L Kb'4W-&u! f: I(pump, -1, x *um, 0) * cm^2, !泵浦光沿光纤径向的强度分布 S9'Xsh color = red, Mf7
[@#$ maxconnect = 1, !限制图形区域高度,修正为100%的高度 *uKYrs [ width = 3, @twi<U_ "pump" u('`.dwkc 31QDN0o!~ f: I(signal_fw, -1,x * um, 0) * cm^2, !信号光沿光纤径向的强度分布 bik lja color = blue, [*5hx_4%B maxconnect = 1, QB;TQZ width = 3, [<d_#(]h' "signal" .LbAR
u aEun *V^, YtXd>@7 ; ------------- 8I<j"6`+Q diagram 5: !输出图表5 #nmh=G?\Sm }j!C+i "TransitionCross-sections" Tl+PRR6D* lAGntYv I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) NSq29# Vo|[Z)MO` x: 1450, 2050 7$8DMBqq "wavelength(nm)", @x <UTO\w% y: 0, 0.6 ~4xn^.w "cross-sections(1e-24 m²)", @y CBz=-Xr frame 6]4=8! J hx Jid_&\ hy 6}Rb-\N yQ&C]{>TS f: s12_Tm(x * nm) /1e-24, !Tm3+吸收截面与波长的关系 CioS}K color = red, Zlygx width = 3, 0_=^#r4Mu "absorption" [jGE{<Je f: s21_Tm(x * nm) /1e-24, !Tm3+发射截面与波长的关系 z f>(Y7M color = blue, VJ1rU mO~ width = 3, xlh<}Vtp "emission" Xo6zeLHO nB/`~_9
|
|