| 小火龙果 |
2020-05-28 16:28 |
RP Fiber Power仿真设计掺铥光纤激光器代码详解
(*
@xN)mi Demo for program"RP Fiber Power": thulium-doped fiber laser, p$l'y""i pumped at 790 nm. Across-relaxation process allows for efficient FuFA/R=x/ population of theupper laser level. KNqs=:i *) !(* *)注释语句 d 8M8O3 3zo:)N \K diagram shown: 1,2,3,4,5 !指定输出图表 7oZtbBs]M ; 1: "Powersvs. Position" !分号是注释;光纤长度对功率的影响 Oi\,clR^[o ; 2:"Variation of the Pump Power" !泵浦光功率变化对信号输出功率的影响 g)^g_4 ; 3:"Variation of the Fiber Length"!信号输出功率vs 光纤长度的变化,仿真最佳光纤长度 N_f>5uv ; 4:"Transverse Profiles" !横向分布,横坐标为半径位置 D'oy%
1Q} ; 5:"Transition Cross-sections" !不同波长的跃迁横截面,横坐标波长,纵坐标为横截面 &\AW}xp ,=`iQl3(y/ include"Units.inc" !读取“Units.inc”文件中内容 T&s}~S=m S/x CX! include"Tm-silicate.inc" !读取光谱数据 ,2lH*=m; Ep1p>s^ ; Basic fiberparameters: !定义基本光纤参数 6}GcMhU<r L_f := 4 { fiberlength } !光纤长度 ?m dGMf) No_z_steps := 50 {no steps along the fiber } !光纤步长,大括号{ }是注释,相当于备注 gR@,"6b3 r_co := 6 um { coreradius } !纤芯半径 `8G {-_ N_Tm := 100e24 { Tmdoping concentration } !纤芯Tm离子掺杂浓度 yo_;j@BGR Bngvm9k3 ; Parameters of thechannels: !定义光信道 ]?(_}""1 l_p := 790 nm {pump wavelength } !泵浦光波长790nm UGK,+FN dir_p := forward {pump direction (forward or backward) } !前向泵浦 &E`=pe/e P_pump_in := 5 {input pump power } !输入泵浦功率5W GbJVw\5Z* w_p := 50 um {radius of pump cladding } !包层泵浦相应的半径 50um )UAkg I_p(r) := (r <=w_p) { pump intensity profile } !泵浦光强度分布 ,w0Io loss_p := 0 {parasitic losses of pump wave } !泵浦光寄生损耗为0 ,nz3S5~ m-XS_5x\ l_s := 1940 nm {signal wavelength } !信号光波长1940nm zOA2chy4 w_s := 7 um !信号光的半径 NLF6O9 I_s(r) := exp(-2 *(r / w_s)^2) !信号光的高斯强度分布 's 'H&sa loss_s := 0 !信号光寄生损耗为0 3Tz~DdB E*{_=pX R_oc := 0.70 {output coupler reflectivity (right side) } !输出耦合反射率 L3y`*&e> i=X
B0- ; Function for defining themodel: !定义模型函数,一定要有calc命令,否则函数只会被定义,但不会被执行 HiTj-O calc s.XLC43Rs begin @]X5g8h global allow all; !声明全局变量 +~eybm; set_fiber(L_f, No_z_steps, ''); !光纤参数 .|<+-Rsj add_ring(r_co, N_Tm); ~oE@y6Q def_ionsystem(); !光谱数据函数 t B Kra pump := addinputchannel(P_pump_in, l_p,'I_p', loss_p, dir_p); !泵浦光信道 OmAa$L,'w signal_fw := addinputchannel(0, l_s, 'I_s',loss_s, forward); !前向信号光信道 ~<q^4w.=7C signal_bw := addinputchannel(0, l_s, 'I_s',loss_s, backward); !后向信号光信道 @t<KS& set_R(signal_fw, 1, R_oc); !设置反射率函数 B),Z*lpC finish_fiber(); d2(3 , end; v `7` ' @"'$e_jj" ; Display someoutputs in the Output window (on the right side): !在Output aera区域显示输出 A7=k9| show "Outputpowers:" !输出字符串Output powers: JFh_3r' show"pump: ", P_out(pump):d3:"W" !输出字符串pump:和计算值(格式为3个有效数字,单位W) <^fvTb &* show"signal: ",P_out(signal_fw):d3:"W" !输出字符串signal:和计算值(格式为3个有效数字,单位W) o6A1;e R&9Q#n- xBg.QV ; ------------- M*7:-Tb]C diagram 1: !输出图表1 "*Gp@ N=~aj7B% "Powers vs.Position" !图表名称 od RtJ[
L}\~) x: 0, L_f !命令x: 定义x坐标范围 )T!3du:M "position infiber (m)", @x !x轴标签;@x 指示这些字符串沿坐标轴放置 D);w)` y: 0, 15 !命令y: 定义y坐标范围 j/uu&\e y2: 0, 100 !命令y2: 定义第二个y坐标范围 ~(K{D
D7[N frame !frame改变坐标系的设置 40Hm+Ge legpos 600, 500 !图行在图表窗口中的位置(相对于左上角而言) 6uKS!\EY| hx !平行于x方向网格 raCgctYVq hy !平行于y方向网格 J `
KyS RGy+W- f: P(pump, x), !命令f: 定义函数图;P(pump, x)函数是计算x位置处的泵浦光功率 :FX|9h color = red, !图形颜色 7j8Ou3 width = 3, !width线条宽度 K | '`w. "pump" !相应的文本字符串标签 T1W H f: P(signal_fw, x), !P(signal_fw ,x) 函数是计算x位置处的前向信号光功率 _FtsO<p)" color = blue, >m#bj^F\ width = 3, *5d6Q "fw signal" K410.o/=- f: P(signal_bw, x), !P(signal_bw ,x) 函数是计算x位置处的后向信号光功率 9N V.<&~ color = blue, <Xl/U^B style = fdashed, 2i)vT)~ width = 3, ,f^ICM "bw signal" y{Vh?Z<E 5dkXDta[G f: 100 * n(x, 2), !n(x ,2) 函数是计算x位置处激活粒子数在能级2上的占比 B\Uocn yscale = 2, !第二个y轴的缩放比例 LZ<^b6Dxk color = magenta, }0~X)Vgm( width = 3, }) Zcw1g style = fdashed, 'mO>hD`V "n2 (%, right scale)" Er@OmNT Q?/qQ}nNw f: 100 * n(x, 3), !n(x ,3) 函数是计算x位置处激活粒子数在能级3上的占比 "WZ | yscale = 2, &l?AC%a5 color = red, M$U Zn width = 3, 3{9d5p|\i style = fdashed, w:07_`cH= "n3 (%, right scale)" Sjo7NR^#e yZkS
d;.H9Ne ; ------------- VMH^jCFp diagram 2: !输出图表2 t4Pi <m:7 DIF-%X5 "Variation ofthe Pump Power" ~}RfepM )W*A[c
2 x: 0, 10 r$W%d[pB "pump inputpower (W)", @x aKz:hG y: 0, 10 OxqkpK& y2: 0, 100 k8 z1AP frame bW^C30m hx %
Ou'+A hy a!B"WNb+ legpos 150, 150 q![`3m-d. OXI>`$we f: (set_P_in(pump, x);P_out(signal_fw)), !set_P_in(pump,x)改变泵浦信道功率;P_out(signal_fw)输出前向信号光 :*Y2na)qQ step = 5, Y&-%
N color = blue, *" +u^ width = 3, "{[\VsX|c "signal output power (W, leftscale)", !相应的文本字符串标签 ?OS0. finish set_P_in(pump, P_pump_in) ||4T*B06 *USG
p<iH f: (set_P_in(pump,x); 100 * n_av(2)), !改变泵浦信号功率对能级2上激活粒子占比的影响 ZlP+t> yscale = 2, F}?4h Dt step = 5, <.&84c]/& color = magenta, (dTQ,0 width = 3, oI-,6G} "population of level 2 (%, rightscale)", 33g$mUB finish set_P_in(pump, P_pump_in) &O#,"u/q` qHnX) f: (set_P_in(pump,x); 100 * n_av(3)), !改变泵浦信号功率对能级3上激活粒子占比的影响 B>g(i=E yscale = 2, H*Tzw,f~ v step = 5, Ll.P>LH color = red, QD%!a{I width = 3, jl5&T{z "population of level 3 (%, rightscale)", +t3o5& finish set_P_in(pump, P_pump_in) " =6kH, ^h^.;Iqr= (eSsx/ ; ------------- d/!\iLF diagram 3: !输出图表3 7}vI/?r
\440gH` "Variation ofthe Fiber Length" OrwVRqW-z DTG-R>y^ x: 0.1, 5 k-^le|n9 "fiber length(m)", @x Ph8@V}80"Y y: 0, 10 ;Y0M]pC "opticalpowers (W)", @y 4AMe>s frame SP/'4m hx :$0yp`k hy Lv#0-+]$Bt "c\WZB`| f: (set_L(x);P_out(signal_fw)), !改变光纤长度对信号光输出功率的影响 &gKDw!al step = 20, xkv%4H> color = blue, W^)mz,%x width = 3, `QtkC>[ "signal output" %uCsCl ^`k;~4'd ;f: (set_L(x);P_out(pump)), !改变光纤长度对泵浦信号输出功率的影响 U.X`z3q step = 20, color = red, width = 3,"residual pump" U$Z<lx2P u /]P ! set_L(L_f) {restore the original fiber length } S`$%C=a. |1zfXG,R Tdm|=xI
; ------------- (cyvE}g diagram 4: !输出图表4 KIp^|
k7> 'v9M`` "TransverseProfiles" *ow`}Q Q6D>(H#"0 I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) R:$E'PSx s1h|/7gG x: 0, 1.4 * r_co /um r8?p6E "radialposition (µm)", @x 8&M<?oe y: 0, 1.2 * I_max *cm^2 |L`U2.hb "intensity (W/ cm²)", @y (Gw*xsn 1 y2: 0, 1.3 * N_Tm YC')vv3o( frame $v # hx ]tf`[bINP hy k1oJ<$Q = pn;b1= f: N_dop(1, x * um,0), !掺杂浓度的径向分布 ;S
\s&. u yscale = 2, :P/VBX h color = gray, m#8(l{3| width = 3, I;-Y2* maxconnect = 1, GcDA0%i "N_dop (right scale)" 2x9.>nwhb @&Z^WN,x f: I(pump, -1, x *um, 0) * cm^2, !泵浦光沿光纤径向的强度分布 -gm5Eqi color = red, c?e-2Dp( maxconnect = 1, !限制图形区域高度,修正为100%的高度 {kw%7}! width = 3, :"MHmm=uU8 "pump" AH :uG# G%FZTA6a f: I(signal_fw, -1,x * um, 0) * cm^2, !信号光沿光纤径向的强度分布 Le:C8^ color = blue, 'tY(&& maxconnect = 1, \pfa\,rW width = 3, q&J5(9]O|L "signal" 9:Oz-b vi
*A5 ]XbMqHGS ; ------------- 3qn_9f ] diagram 5: !输出图表5 ,dR.Sacv y: x<`E= "TransitionCross-sections" zWhj>Za qFwt^w I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) n@xQ-v M:GpyE% x: 1450, 2050 ]95VMyN "wavelength(nm)", @x Rx&O}>"E>l y: 0, 0.6 nH&z4-1Y? "cross-sections(1e-24 m²)", @y ~abyjM frame `_)H aF>/ hx Vy
I\Jmr hy n0T|U g i6s+2 f: s12_Tm(x * nm) /1e-24, !Tm3+吸收截面与波长的关系 &>C+5`bg color = red, [U/h'A.j width = 3, P%lD9<jED "absorption" E`I(x&_ f: s21_Tm(x * nm) /1e-24, !Tm3+发射截面与波长的关系 6ICW>#fI` color = blue, QMz =e width = 3, 4pf@.ra, "emission" 't}\U&L.{ Y&j`HO8f
|
|