| 小火龙果 |
2020-05-28 16:28 |
RP Fiber Power仿真设计掺铥光纤激光器代码详解
(* E#h~V5Tf Demo for program"RP Fiber Power": thulium-doped fiber laser, SgSk!lj pumped at 790 nm. Across-relaxation process allows for efficient Fd!iQ population of theupper laser level. H%.zXQ4}n *) !(* *)注释语句 M]ap: Kx]> fHK diagram shown: 1,2,3,4,5 !指定输出图表 Gc5VQ^] ; 1: "Powersvs. Position" !分号是注释;光纤长度对功率的影响 :,C%01bH|l ; 2:"Variation of the Pump Power" !泵浦光功率变化对信号输出功率的影响 iB{xvyR ; 3:"Variation of the Fiber Length"!信号输出功率vs 光纤长度的变化,仿真最佳光纤长度 '?}R4w|) ; 4:"Transverse Profiles" !横向分布,横坐标为半径位置 0!IPcZjY7 ; 5:"Transition Cross-sections" !不同波长的跃迁横截面,横坐标波长,纵坐标为横截面 (@?eLJlT 6:RMU include"Units.inc" !读取“Units.inc”文件中内容 ;F,qS0lzE V
[4n'LcE include"Tm-silicate.inc" !读取光谱数据 y*KC*/'" 4hNwKe"Ki ; Basic fiberparameters: !定义基本光纤参数 )H+h;U L_f := 4 { fiberlength } !光纤长度 .v7`$(T No_z_steps := 50 {no steps along the fiber } !光纤步长,大括号{ }是注释,相当于备注 "z/V%ZK~f r_co := 6 um { coreradius } !纤芯半径 eYDgEM
N_Tm := 100e24 { Tmdoping concentration } !纤芯Tm离子掺杂浓度 }*-u$=2 "
~n3iNkP ; Parameters of thechannels: !定义光信道 lu3.KOD/ l_p := 790 nm {pump wavelength } !泵浦光波长790nm z.59]\;U> dir_p := forward {pump direction (forward or backward) } !前向泵浦 DrFu r(=T P_pump_in := 5 {input pump power } !输入泵浦功率5W <%r h/r w_p := 50 um {radius of pump cladding } !包层泵浦相应的半径 50um p)z-W( I_p(r) := (r <=w_p) { pump intensity profile } !泵浦光强度分布 zW)gC9_|m- loss_p := 0 {parasitic losses of pump wave } !泵浦光寄生损耗为0 a8NVLD>7} O"QHb|j l_s := 1940 nm {signal wavelength } !信号光波长1940nm CSH`pU w_s := 7 um !信号光的半径 ;r@!a!NLB I_s(r) := exp(-2 *(r / w_s)^2) !信号光的高斯强度分布 GRQ_+K loss_s := 0 !信号光寄生损耗为0 u
!.DnKu 4zX=3iBt R_oc := 0.70 {output coupler reflectivity (right side) } !输出耦合反射率 aL 8Gnqf2 {0fz9"|U ; Function for defining themodel: !定义模型函数,一定要有calc命令,否则函数只会被定义,但不会被执行 #ZF>WoC@e? calc -=>U
=| begin Lv3XYZgW~ global allow all; !声明全局变量 \L
%q[ set_fiber(L_f, No_z_steps, ''); !光纤参数 59K} add_ring(r_co, N_Tm); Rj&qh` def_ionsystem(); !光谱数据函数 [lOf|^9 pump := addinputchannel(P_pump_in, l_p,'I_p', loss_p, dir_p); !泵浦光信道 }Qb';-+;d signal_fw := addinputchannel(0, l_s, 'I_s',loss_s, forward); !前向信号光信道 9c6 ' signal_bw := addinputchannel(0, l_s, 'I_s',loss_s, backward); !后向信号光信道 86#-q7aX set_R(signal_fw, 1, R_oc); !设置反射率函数 *78)2)=~ finish_fiber(); bm^X!i5 end; qdO[d|d Vbo5`+NAis ; Display someoutputs in the Output window (on the right side): !在Output aera区域显示输出 ~r PYJ show "Outputpowers:" !输出字符串Output powers: 5<^'Cy show"pump: ", P_out(pump):d3:"W" !输出字符串pump:和计算值(格式为3个有效数字,单位W) EM=xd~H show"signal: ",P_out(signal_fw):d3:"W" !输出字符串signal:和计算值(格式为3个有效数字,单位W) 44Q9 *." g?gqkoI ,FY-d$3) ; ------------- 6#O#T;f) diagram 1: !输出图表1 )ib7K1GJ *3P3M}3~\ "Powers vs.Position" !图表名称 CQ$::; }E,jR=@ x: 0, L_f !命令x: 定义x坐标范围 =hPG_4# "position infiber (m)", @x !x轴标签;@x 指示这些字符串沿坐标轴放置 "0b?+ 3_{G y: 0, 15 !命令y: 定义y坐标范围 Hw y5G; y2: 0, 100 !命令y2: 定义第二个y坐标范围 xl3zy~;M frame !frame改变坐标系的设置 q;ZLaX\bFl legpos 600, 500 !图行在图表窗口中的位置(相对于左上角而言) &0JK38( hx !平行于x方向网格 hR!}u}ECd hy !平行于y方向网格 %N>\:85? yAAG2c4( f: P(pump, x), !命令f: 定义函数图;P(pump, x)函数是计算x位置处的泵浦光功率 ):^ '/e color = red, !图形颜色 Yg[ v/[] width = 3, !width线条宽度 ENO? ; "pump" !相应的文本字符串标签 wZ$tJQO f: P(signal_fw, x), !P(signal_fw ,x) 函数是计算x位置处的前向信号光功率 W"dU1] color = blue, >dyhox2*" width = 3, 6$;L]<$W> "fw signal" {x7=;- f: P(signal_bw, x), !P(signal_bw ,x) 函数是计算x位置处的后向信号光功率 Z(KmS( color = blue, c%ZeX%p style = fdashed, phr2X*Z/)Y width = 3, IF5sqv "bw signal" Ap%d<\,Z ;i.I&*t f: 100 * n(x, 2), !n(x ,2) 函数是计算x位置处激活粒子数在能级2上的占比 xrfPZBLy yscale = 2, !第二个y轴的缩放比例 sZ]'DH&_( color = magenta, HOq4i! width = 3, pF|8OB% style = fdashed, B*y;>q "{U "n2 (%, right scale)" IhUW=1&J stX'yya f: 100 * n(x, 3), !n(x ,3) 函数是计算x位置处激活粒子数在能级3上的占比 `'kc|!%MUq yscale = 2, 09G9nu ;&{ color = red, r@olC7& width = 3, {%=S+89l style = fdashed, oDz*~{BHg "n3 (%, right scale)" 'G<}U343=8 qe[ ('T4Db ; ------------- l8er$8S} diagram 2: !输出图表2 jo<>Hc{g> tvTWZ` "Variation ofthe Pump Power" ,c@r`
x 'CS^2Z x: 0, 10 3aEt>x "pump inputpower (W)", @x {An8/"bv} y: 0, 10 ^uC"dfH y2: 0, 100 B{;11u frame wDB)&b hx F# jCEq hy Q.rB\8ea legpos 150, 150 Uy(vELB B"7$!C o f: (set_P_in(pump, x);P_out(signal_fw)), !set_P_in(pump,x)改变泵浦信道功率;P_out(signal_fw)输出前向信号光 |)28=Z|Z step = 5, mG>T`c|r3 color = blue, ,D:iQDG^ width = 3, yEE|e> "signal output power (W, leftscale)", !相应的文本字符串标签 v;K{|zUdB finish set_P_in(pump, P_pump_in) zA2UFax= 8o! f: (set_P_in(pump,x); 100 * n_av(2)), !改变泵浦信号功率对能级2上激活粒子占比的影响 5OPS&: yscale = 2, sXSj OUI step = 5, <dq,y> color = magenta, WA<H width = 3, +F1]M2p] "population of level 2 (%, rightscale)", 0\V\qAk finish set_P_in(pump, P_pump_in) OI'uH$y bq c;.4$ f: (set_P_in(pump,x); 100 * n_av(3)), !改变泵浦信号功率对能级3上激活粒子占比的影响 Bx\#`Y yscale = 2, :X3rd|;kc step = 5, {[l'S color = red, 7'-)/Pk width = 3, '}wG"0 "population of level 3 (%, rightscale)", $~
pr+Ei finish set_P_in(pump, P_pump_in) ~+nS)4( :`{9x%o; B=Xnv*e ; ------------- RH<@c^ S diagram 3: !输出图表3 K~7'@\2
? 1gF*Mf_7 "Variation ofthe Fiber Length" [37f#p I'KR'1z 9 x: 0.1, 5 Xulh.:N} "fiber length(m)", @x 1.hOE>A% y: 0, 10 gg lNpzj "opticalpowers (W)", @y P Xyyyir{ frame |usnY hx ~0VwF hy /V#MLPA ^ %~Et>C f: (set_L(x);P_out(signal_fw)), !改变光纤长度对信号光输出功率的影响 ==jkp
U*= step = 20, h1Ke$#$6 color = blue, \_iH4<#> width = 3, 8r7/IGFg "signal output" rC=p;BC@dD [+%p!T ;f: (set_L(x);P_out(pump)), !改变光纤长度对泵浦信号输出功率的影响 oN1!>S9m step = 20, color = red, width = 3,"residual pump" "cnG/{($* f)&`mqeE ! set_L(L_f) {restore the original fiber length } }e&KO?x+ X}65\6 K1m!S9d`x ; ------------- GQYtH#
diagram 4: !输出图表4 TE*> a5C| ]1/W8z% "TransverseProfiles" :ofE8] ,g<>`={kK+ I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) hq|jC ,iA2si x: 0, 1.4 * r_co /um e3HF"v]2! "radialposition (µm)", @x 18[?dV y: 0, 1.2 * I_max *cm^2 A-AN6. "intensity (W/ cm²)", @y i9#`F.7F y2: 0, 1.3 * N_Tm _js2^<7v} frame K8 Kz hx (HTk;vbZm hy T }8r;<P6 1*c0\:BQ;z f: N_dop(1, x * um,0), !掺杂浓度的径向分布 b&|YQW}~ yscale = 2, &9jUf:g J0 color = gray, B?/12+sR width = 3, LyCV_6;D maxconnect = 1, 1*x5/b "N_dop (right scale)" 2Wc;hJ.1 X*p:&=o f: I(pump, -1, x *um, 0) * cm^2, !泵浦光沿光纤径向的强度分布
K|Ij71 color = red, Poylq]F maxconnect = 1, !限制图形区域高度,修正为100%的高度 %r}KvJgd width = 3, S+e-b'++? "pump"
'%JMnU &Hp\(" f: I(signal_fw, -1,x * um, 0) * cm^2, !信号光沿光纤径向的强度分布 Wb}0-U{S' color = blue, OFPd6,(E maxconnect = 1, ><Mbea=U+ width = 3, ]i_):@ "signal" -*]9Ma<wa 0ghwFo ^*owD;]4_ ; ------------- +wf& L diagram 5: !输出图表5 :,J86#S) T_;G))q' "TransitionCross-sections" {F{[!. .Q6{$Y%l I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) !&`7 :h](;W>H x: 1450, 2050 A.'`FtV "wavelength(nm)", @x =tvm= y: 0, 0.6 0I AaPz/e "cross-sections(1e-24 m²)", @y HDfQ9__ frame A$Jn3Xd~! hx 0UAr}H.: hy ^Qb!k/$3y }M"'K2_Z f: s12_Tm(x * nm) /1e-24, !Tm3+吸收截面与波长的关系 tIp\MXkTQ& color = red, h19.b:JT width = 3, HN&vk/[ "absorption" fPuQ,J2= f: s21_Tm(x * nm) /1e-24, !Tm3+发射截面与波长的关系 V'|g color = blue, @+Anv~B. width = 3, b ffml "emission" 8aM%
9OU P$#}-15?|_
|
|