| 小火龙果 |
2020-05-28 16:28 |
RP Fiber Power仿真设计掺铥光纤激光器代码详解
(*
W;9Jah. Demo for program"RP Fiber Power": thulium-doped fiber laser, Hz]
p] pumped at 790 nm. Across-relaxation process allows for efficient gbc])`aJ> population of theupper laser level. DZ9qIc}Y *) !(* *)注释语句 g0~3;y ok+-#~VTn diagram shown: 1,2,3,4,5 !指定输出图表 6"UL+$k ; 1: "Powersvs. Position" !分号是注释;光纤长度对功率的影响 5NECb4FG ; 2:"Variation of the Pump Power" !泵浦光功率变化对信号输出功率的影响 K`d3p{M ; 3:"Variation of the Fiber Length"!信号输出功率vs 光纤长度的变化,仿真最佳光纤长度 p<9e5`&I ; 4:"Transverse Profiles" !横向分布,横坐标为半径位置 $={WtR ; 5:"Transition Cross-sections" !不同波长的跃迁横截面,横坐标波长,纵坐标为横截面 !1M=9 ~$! WP-'gC6K= include"Units.inc" !读取“Units.inc”文件中内容 <fLk\
= 8;r7ksE~ include"Tm-silicate.inc" !读取光谱数据 mp x/~`c ;PrL)! ; Basic fiberparameters: !定义基本光纤参数 +v}R-gNR L_f := 4 { fiberlength } !光纤长度 koizk&) No_z_steps := 50 {no steps along the fiber } !光纤步长,大括号{ }是注释,相当于备注 8(Y=MW;g r_co := 6 um { coreradius } !纤芯半径 ,B<Tt|' N_Tm := 100e24 { Tmdoping concentration } !纤芯Tm离子掺杂浓度 [!v|
M ?8LRd5LH ; Parameters of thechannels: !定义光信道 E*t0ia8 l_p := 790 nm {pump wavelength } !泵浦光波长790nm Q hHexr6 dir_p := forward {pump direction (forward or backward) } !前向泵浦 VC6S4FU4K P_pump_in := 5 {input pump power } !输入泵浦功率5W N>A*N,+ w_p := 50 um {radius of pump cladding } !包层泵浦相应的半径 50um ;_ ^"} I_p(r) := (r <=w_p) { pump intensity profile } !泵浦光强度分布 jSj
(ZU6 loss_p := 0 {parasitic losses of pump wave } !泵浦光寄生损耗为0 I@f">&^ XU}sbbwu l_s := 1940 nm {signal wavelength } !信号光波长1940nm {=NHidi~ w_s := 7 um !信号光的半径 5_mb+A n, I_s(r) := exp(-2 *(r / w_s)^2) !信号光的高斯强度分布 q&- A}] loss_s := 0 !信号光寄生损耗为0 sO!YM5v8 32flOi: R_oc := 0.70 {output coupler reflectivity (right side) } !输出耦合反射率 NNQro)Lpe Hkv4t5F ; Function for defining themodel: !定义模型函数,一定要有calc命令,否则函数只会被定义,但不会被执行 -pRyN]YD calc 62Ab4! begin 2Q,8@2w; global allow all; !声明全局变量 |
ZI ~#V set_fiber(L_f, No_z_steps, ''); !光纤参数 oR=^NEJv add_ring(r_co, N_Tm); g]g2`ab | def_ionsystem(); !光谱数据函数 3d{v5. C#X pump := addinputchannel(P_pump_in, l_p,'I_p', loss_p, dir_p); !泵浦光信道 .+H8c. signal_fw := addinputchannel(0, l_s, 'I_s',loss_s, forward); !前向信号光信道 $UZ4,S?V signal_bw := addinputchannel(0, l_s, 'I_s',loss_s, backward); !后向信号光信道 042sjt set_R(signal_fw, 1, R_oc); !设置反射率函数 jaAv_=93f finish_fiber(); s'V8PN+- end; eqSCNYN I54O9Aoy ; Display someoutputs in the Output window (on the right side): !在Output aera区域显示输出 .~4>5W"u show "Outputpowers:" !输出字符串Output powers: O/IW.t show"pump: ", P_out(pump):d3:"W" !输出字符串pump:和计算值(格式为3个有效数字,单位W) V;Zp3Qo! show"signal: ",P_out(signal_fw):d3:"W" !输出字符串signal:和计算值(格式为3个有效数字,单位W) !Cj1:P GRC=G&G 3:rH1vG.m ; ------------- 1GY[1M1^ diagram 1: !输出图表1 bl>MD8bzLE 6dh@DG*k "Powers vs.Position" !图表名称 j~G^J E\r5!45r x: 0, L_f !命令x: 定义x坐标范围
N1UE u,j "position infiber (m)", @x !x轴标签;@x 指示这些字符串沿坐标轴放置 _c|>m4+X y: 0, 15 !命令y: 定义y坐标范围 XbJ=lH y2: 0, 100 !命令y2: 定义第二个y坐标范围 J,fXXi)J frame !frame改变坐标系的设置 <ZJ>jZV0* legpos 600, 500 !图行在图表窗口中的位置(相对于左上角而言) N1I1!!$K;% hx !平行于x方向网格 kRgyvA,*; hy !平行于y方向网格 AAsl) /|y3M/;F f: P(pump, x), !命令f: 定义函数图;P(pump, x)函数是计算x位置处的泵浦光功率 i\B>J?Q\ color = red, !图形颜色 *?gn@4Ly width = 3, !width线条宽度 E~zLhJTUL' "pump" !相应的文本字符串标签 Dd*T5A? f: P(signal_fw, x), !P(signal_fw ,x) 函数是计算x位置处的前向信号光功率 q+32|k>) color = blue, `X]-blHo width = 3, sp[nKo^ "fw signal" \1RQ),5 %] f: P(signal_bw, x), !P(signal_bw ,x) 函数是计算x位置处的后向信号光功率 ~?aq=T color = blue, <W vuW6 style = fdashed, 5/mW:G,& width = 3, O#7fkL "bw signal" B4&@PX"'>, 1uv"5`%s f: 100 * n(x, 2), !n(x ,2) 函数是计算x位置处激活粒子数在能级2上的占比 0i$jtCCL( yscale = 2, !第二个y轴的缩放比例 U;KHF{Vm color = magenta, 2s
EdN$O width = 3, @l&5 |Cia style = fdashed, -nO('(t "n2 (%, right scale)" lw? f2_fi i,ku91T f: 100 * n(x, 3), !n(x ,3) 函数是计算x位置处激活粒子数在能级3上的占比 f+s'.z% yscale = 2, )G
,LG0"- color = red, m0F-[k3) width = 3, [j}%&$ style = fdashed, 9XS+W
w7 "n3 (%, right scale)" "
%|CD"@ Px=/fO G ]-)qL[Q ; ------------- M.d{:&@`% diagram 2: !输出图表2 i(,R$AU .'"+CKD.N "Variation ofthe Pump Power" nAd
4g| iml*+t x: 0, 10 RGLwtN "pump inputpower (W)", @x Ff& VBm y: 0, 10 jzEimKDE's y2: 0, 100 C-_u; NEu frame o LX6w hx pa+^5N hy `"(7)T{ legpos 150, 150 BD=;4SLT |fTQ\q]W f: (set_P_in(pump, x);P_out(signal_fw)), !set_P_in(pump,x)改变泵浦信道功率;P_out(signal_fw)输出前向信号光 0,m*W?^31 step = 5, 3=dGz^Zdv: color = blue, Z/;rM8[{& width = 3, H7#RL1qM& "signal output power (W, leftscale)", !相应的文本字符串标签 ":"M/v%F finish set_P_in(pump, P_pump_in) X^9_'T9 i>,5b1x~ f: (set_P_in(pump,x); 100 * n_av(2)), !改变泵浦信号功率对能级2上激活粒子占比的影响 )KBv[| yscale = 2, r-Z' step = 5, ,[Cl 'B color = magenta, )zUV6U7v width = 3, `?=AgGg "population of level 2 (%, rightscale)", "VcGr#zW finish set_P_in(pump, P_pump_in) [(ty{ g-}Vu1w0{6 f: (set_P_in(pump,x); 100 * n_av(3)), !改变泵浦信号功率对能级3上激活粒子占比的影响 do=VPqy yscale = 2, Y60ld7H step = 5, sur2Mw(M" color = red, -+Q,xxu width = 3, W11_MTIU "population of level 3 (%, rightscale)", Cn28&$:J finish set_P_in(pump, P_pump_in) %Si3t2W/ 4eaC18? 3\mFK$#sr ; ------------- ?m?e2{]u, diagram 3: !输出图表3 yuI5#
VUS u3k+Xg: "Variation ofthe Fiber Length" YT:<AJm 31b-r[B{% x: 0.1, 5 qM1$?U "fiber length(m)", @x wEDU*}~ y: 0, 10 ]"CAP% "opticalpowers (W)", @y Rut6m5> frame NqF-[G< hx F=P|vYL&& hy x!YfZ* sgB3i`_M f: (set_L(x);P_out(signal_fw)), !改变光纤长度对信号光输出功率的影响 #d|.BxH step = 20, mZM5aTQ3 color = blue, 9Hc#[Ml width = 3, t}oxHEa V "signal output" 'QW 0K]il vNtbb]')m ;f: (set_L(x);P_out(pump)), !改变光纤长度对泵浦信号输出功率的影响 2G'G45Q step = 20, color = red, width = 3,"residual pump" \h0e09& I "?S#vUS+ 2 ! set_L(L_f) {restore the original fiber length } ]\3dJ^q|% <N`rcKE%~P JTs.NY
<z ; ------------- nwkhGQ diagram 4: !输出图表4 (8EZ,V: 6"=e+V@ "TransverseProfiles" Y5n pz^i bC@b9opD I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) Fvv6<E Tw`l4S& x: 0, 1.4 * r_co /um rB7(&(n>^ "radialposition (µm)", @x -pjL7/ gx y: 0, 1.2 * I_max *cm^2 .#}SK!"B "intensity (W/ cm²)", @y $jntT(V y2: 0, 1.3 * N_Tm {Rz`)qqE frame -51L!x}1c hx IM@Qe|5 hy #Gg^fm 97&6i TYA f: N_dop(1, x * um,0), !掺杂浓度的径向分布 [ z&y]~ yscale = 2, ahf$#UQLb color = gray, U{_O=S u width = 3, J$P]>By5: maxconnect = 1, x*)Wl! "N_dop (right scale)" 0loC^\f U$J]^-AS f: I(pump, -1, x *um, 0) * cm^2, !泵浦光沿光纤径向的强度分布 ']rh0? color = red, !C+25vup maxconnect = 1, !限制图形区域高度,修正为100%的高度 onmO>q* width = 3, ?O3G "pump" AKWw36lm {C6Yr9 f: I(signal_fw, -1,x * um, 0) * cm^2, !信号光沿光纤径向的强度分布 +HcH]D; color = blue, i4-L!<bJ maxconnect = 1, =o-qu^T^u width = 3, >/n/n{{ "signal" cCeD3CuRA% #&/*ll) k+i=0P0mf ; ------------- %Wu8RG} diagram 5: !输出图表5 SVpe^iQ]1\ <0vvlOL5 "TransitionCross-sections" #z~oc^J^T *%8us~w5/ I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) ILpB:g W"0 # x: 1450, 2050 E }yxF. "wavelength(nm)", @x l&yR-FJ7KY y: 0, 0.6 /bb4nM_E/ "cross-sections(1e-24 m²)", @y ]x Kmz frame 4EELaP|% hx p
2i5/Ly hy [WK_Vh{ V:+}]"yJ, f: s12_Tm(x * nm) /1e-24, !Tm3+吸收截面与波长的关系 i a|F color = red, r*$"]{m} width = 3, Vz#cb5:g "absorption" `#UTOYx4 f: s21_Tm(x * nm) /1e-24, !Tm3+发射截面与波长的关系 $@NZ*m%?JQ color = blue, WV6vM()#!C width = 3, 'X?`+2wK
"emission" '=ZE*nGC -g>27EI5
|
|