| 小火龙果 |
2020-05-28 16:28 |
RP Fiber Power仿真设计掺铥光纤激光器代码详解
(* $B6CLWB Demo for program"RP Fiber Power": thulium-doped fiber laser, Fl{:aq"3 pumped at 790 nm. Across-relaxation process allows for efficient zs#s"e:jeR population of theupper laser level. U^jxKBq^ *) !(* *)注释语句 90JD`Nz (bEX"U- diagram shown: 1,2,3,4,5 !指定输出图表 5)X;q- ; 1: "Powersvs. Position" !分号是注释;光纤长度对功率的影响 ];BGJ5^j ; 2:"Variation of the Pump Power" !泵浦光功率变化对信号输出功率的影响 S;a'@5 ; 3:"Variation of the Fiber Length"!信号输出功率vs 光纤长度的变化,仿真最佳光纤长度 C'8v\C9Ag ; 4:"Transverse Profiles" !横向分布,横坐标为半径位置 @j
+8 M ; 5:"Transition Cross-sections" !不同波长的跃迁横截面,横坐标波长,纵坐标为横截面 {z)&=v@ p<>xqU include"Units.inc" !读取“Units.inc”文件中内容 l|#WQXs*c{ 8\,|T2w,X include"Tm-silicate.inc" !读取光谱数据 !<9sOvka{ w`Q"m x* ; Basic fiberparameters: !定义基本光纤参数 CNwYQe-i L_f := 4 { fiberlength } !光纤长度 x1:#rb' No_z_steps := 50 {no steps along the fiber } !光纤步长,大括号{ }是注释,相当于备注 q-c9YOz_ r_co := 6 um { coreradius } !纤芯半径 aq-`Bar N_Tm := 100e24 { Tmdoping concentration } !纤芯Tm离子掺杂浓度 jG($:>3a@ @**@W[EM ; Parameters of thechannels: !定义光信道 fQ>=\*b9x^ l_p := 790 nm {pump wavelength } !泵浦光波长790nm Nxk3uF^ dir_p := forward {pump direction (forward or backward) } !前向泵浦 hw[ jVx P_pump_in := 5 {input pump power } !输入泵浦功率5W 3w&fN3
1 w_p := 50 um {radius of pump cladding } !包层泵浦相应的半径 50um $Pa7B]A,Ae I_p(r) := (r <=w_p) { pump intensity profile } !泵浦光强度分布 I5RV:e5b loss_p := 0 {parasitic losses of pump wave } !泵浦光寄生损耗为0 u`E24~ $*)??uU l_s := 1940 nm {signal wavelength } !信号光波长1940nm ^/;W;C{4 w_s := 7 um !信号光的半径 cd8ZZ8L I_s(r) := exp(-2 *(r / w_s)^2) !信号光的高斯强度分布 P'o:Vhm_H loss_s := 0 !信号光寄生损耗为0 cSdkhRAn oK3uGPi
R_oc := 0.70 {output coupler reflectivity (right side) } !输出耦合反射率 bu`8QQ"C En@] xvE ; Function for defining themodel: !定义模型函数,一定要有calc命令,否则函数只会被定义,但不会被执行 rEI]{?eoF calc Z2z"K<Z W begin $'$#Xn,hU global allow all; !声明全局变量 jO'+r'2B9 set_fiber(L_f, No_z_steps, ''); !光纤参数 eF8!}|*N add_ring(r_co, N_Tm); k<b`v&G def_ionsystem(); !光谱数据函数 F\m
pump := addinputchannel(P_pump_in, l_p,'I_p', loss_p, dir_p); !泵浦光信道 ** \B P,]} signal_fw := addinputchannel(0, l_s, 'I_s',loss_s, forward); !前向信号光信道 xw60l&s.\L signal_bw := addinputchannel(0, l_s, 'I_s',loss_s, backward); !后向信号光信道 ?VM# Nf\ set_R(signal_fw, 1, R_oc); !设置反射率函数 (nP 6Xq finish_fiber(); RusC5\BUX end; V\axOz! ibDMhW$n ; Display someoutputs in the Output window (on the right side): !在Output aera区域显示输出 2u9^ )6/ show "Outputpowers:" !输出字符串Output powers: <:#O*Y{ show"pump: ", P_out(pump):d3:"W" !输出字符串pump:和计算值(格式为3个有效数字,单位W) p/V show"signal: ",P_out(signal_fw):d3:"W" !输出字符串signal:和计算值(格式为3个有效数字,单位W) {"33 .^= 1](5wK-Z S312h'K
j ; ------------- 2N]u!S ;d diagram 1: !输出图表1 %qA +zPf [BS3y`c "Powers vs.Position" !图表名称 g*UI~rp )"7hyW 5 x: 0, L_f !命令x: 定义x坐标范围 /BWJ)6#H "position infiber (m)", @x !x轴标签;@x 指示这些字符串沿坐标轴放置 UA4Q9<>~ y: 0, 15 !命令y: 定义y坐标范围 K
GlO;Q~7 y2: 0, 100 !命令y2: 定义第二个y坐标范围 y<YVb@O. frame !frame改变坐标系的设置 0x'-\)v>3 legpos 600, 500 !图行在图表窗口中的位置(相对于左上角而言) _E5%Px5>L hx !平行于x方向网格 k*bfq?E a hy !平行于y方向网格 4XL*e+UfJ < 4DWH f: P(pump, x), !命令f: 定义函数图;P(pump, x)函数是计算x位置处的泵浦光功率 #8;|_RU color = red, !图形颜色 cvn4Q- ^ width = 3, !width线条宽度 cmDskQ: "pump" !相应的文本字符串标签 9IL#\:d1 f: P(signal_fw, x), !P(signal_fw ,x) 函数是计算x位置处的前向信号光功率 S=O/W(ZB color = blue, qB3{65 width = 3, LV:oNK( "fw signal" .vRLK f: P(signal_bw, x), !P(signal_bw ,x) 函数是计算x位置处的后向信号光功率 4QWDuLu color = blue, 02X ~' To" style = fdashed, Cna@3)_ width = 3, _>HXQ6Hw "bw signal" -B2>~#L w<_.T# f: 100 * n(x, 2), !n(x ,2) 函数是计算x位置处激活粒子数在能级2上的占比 OVO0Emv yscale = 2, !第二个y轴的缩放比例 hCO*gtA)M color = magenta, p$}iBk0B(z width = 3, s-r$%9o5 style = fdashed, *IzcW6 [9 "n2 (%, right scale)" &Pt| -tT{h4 f: 100 * n(x, 3), !n(x ,3) 函数是计算x位置处激活粒子数在能级3上的占比 76[aOC2Ad yscale = 2, Ygn"7 color = red, [!{*)4$6 width = 3, 3+m#v8h1 style = fdashed, h$ M+Yo+ "n3 (%, right scale)" zMX7 #, >]"5K<-1 I/9ZUxQCyG ; ------------- !U#kUj:4I diagram 2: !输出图表2 sS OI5W3A D8_m_M|P "Variation ofthe Pump Power" 9;Ezm<VQ GFvZdP`s4 x: 0, 10 f(DGC2R
< "pump inputpower (W)", @x +3vK=d_Va y: 0, 10 Ig1cf9 : y2: 0, 100 5(>m=ef" frame g'Ft5fQ"o/ hx '#t"^E2$ hy C 0*k@kGy legpos 150, 150
N`y!Km
?7G?uk]3,@ f: (set_P_in(pump, x);P_out(signal_fw)), !set_P_in(pump,x)改变泵浦信道功率;P_out(signal_fw)输出前向信号光 [8Ub#<]] step = 5, -]5dD VSO color = blue, ksY^w+>(! width = 3, {AIP\ "signal output power (W, leftscale)", !相应的文本字符串标签 yyk[oH-Q finish set_P_in(pump, P_pump_in) @okC":Fw, E?z 3&C f: (set_P_in(pump,x); 100 * n_av(2)), !改变泵浦信号功率对能级2上激活粒子占比的影响 F=B>0Q5 yscale = 2, ? $pGG step = 5, ZcX%:ebKS color = magenta, AO;+XP= width = 3, BmUEo$w "population of level 2 (%, rightscale)", Gyy:.]>& finish set_P_in(pump, P_pump_in) PK3)M'[ 6luCi$bL f: (set_P_in(pump,x); 100 * n_av(3)), !改变泵浦信号功率对能级3上激活粒子占比的影响 0"u*K n yscale = 2, dz5bW> step = 5, :<ujk color = red, _@sqCf%| width = 3, D8h?s "population of level 3 (%, rightscale)", 3w{4G<I finish set_P_in(pump, P_pump_in) 8c+i+gp! *|$s0ga C 2b1LC!'U ; ------------- ;^}cZ diagram 3: !输出图表3 AyNl,Xyc4 h'UWf"d "Variation ofthe Fiber Length" MnKEZ: 2 |\?-k x: 0.1, 5 S_c#{4n "fiber length(m)", @x +ls *04 y: 0, 10 $q.8ve0&^ "opticalpowers (W)", @y j/ 9FiuK frame dSIMwu6u hx aU4'_%Y@ hy $g#X9/+< 0plRsZ} f: (set_L(x);P_out(signal_fw)), !改变光纤长度对信号光输出功率的影响 \C}tK,79 step = 20, <6p{eGAQV color = blue, } M'\s width = 3, F8b*Mt}p "signal output" xkUsZ*X8B 28X)s!W' ;f: (set_L(x);P_out(pump)), !改变光纤长度对泵浦信号输出功率的影响 1P8$z:|~ step = 20, color = red, width = 3,"residual pump" }kL%l M/d!&Bk ! set_L(L_f) {restore the original fiber length } LdWeI HW.S~eLw* zd#qBj]g ; ------------- 0%FC;v0 diagram 4: !输出图表4 S)g5Tu) ^_5$+ "TransverseProfiles" ?3KI}'}EM P|HY=RMa I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) sS5#Q J5J3%6I x: 0, 1.4 * r_co /um W'gCFX "radialposition (µm)", @x \iowAo$ y: 0, 1.2 * I_max *cm^2 = \X<UA} "intensity (W/ cm²)", @y ^Po\:x%o y2: 0, 1.3 * N_Tm s%4)}w;z frame [`ttNW(_ hx Qg9{<0{u hy 7
hnTHL h3@mN\=h' f: N_dop(1, x * um,0), !掺杂浓度的径向分布 (CZRX9TT1 yscale = 2, e5`{*g$i). color = gray, VJ_E]}H width = 3, A*\4C3a'% maxconnect = 1, puXJ:yo( "N_dop (right scale)" dhm; ctt5t f: I(pump, -1, x *um, 0) * cm^2, !泵浦光沿光纤径向的强度分布 &
NOKrN~HX color = red, iy$]9Wf6=@ maxconnect = 1, !限制图形区域高度,修正为100%的高度 3kYUO-qw width = 3, Pq7YJ"Z?: "pump" mhlJzGr*q krz@1[w-j f: I(signal_fw, -1,x * um, 0) * cm^2, !信号光沿光纤径向的强度分布 Fzu"&&>0$ color = blue, 'Iu$4xo`[ maxconnect = 1, vj{h*~ width = 3, .6vQWt7@ "signal" 1/le%}mK %gw0^^A qQpR gzw ; ------------- _V8pDcY diagram 5: !输出图表5 Y;#P"-yH `]tXQqD "TransitionCross-sections" "me Jn/ ^=R>rUCmv I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) hrcR"OZ~X [xI@)5Xk x: 1450, 2050 H,H'bd/ "wavelength(nm)", @x ^lf;Lc y: 0, 0.6 8swj'SjX "cross-sections(1e-24 m²)", @y cp.)K!$ frame :_Ng`b/ hx "F%cn@l hy ?'h@!F%R' PkG+`N f: s12_Tm(x * nm) /1e-24, !Tm3+吸收截面与波长的关系 zD) 2af color = red, ~"=nt@M] width = 3, {mkYW-4Se "absorption" |(S=G'AtU f: s21_Tm(x * nm) /1e-24, !Tm3+发射截面与波长的关系 &+*jTE color = blue, Keof{>V=CA width = 3, u.!Pda "emission" IL>Gi`Y& "2=v?,'t
|
|