| 小火龙果 |
2020-05-28 16:28 |
RP Fiber Power仿真设计掺铥光纤激光器代码详解
(* hchG\i Demo for program"RP Fiber Power": thulium-doped fiber laser, m#8PX$_ pumped at 790 nm. Across-relaxation process allows for efficient LOi}\O8 population of theupper laser level. 8aW El% *) !(* *)注释语句 KfBT'6t (oX!D(OI diagram shown: 1,2,3,4,5 !指定输出图表 /QyKXg6)l ; 1: "Powersvs. Position" !分号是注释;光纤长度对功率的影响 egG<"e*W}N ; 2:"Variation of the Pump Power" !泵浦光功率变化对信号输出功率的影响 EI 35&7( ; 3:"Variation of the Fiber Length"!信号输出功率vs 光纤长度的变化,仿真最佳光纤长度 #L+:MA7H ; 4:"Transverse Profiles" !横向分布,横坐标为半径位置 u)<s*jk ; 5:"Transition Cross-sections" !不同波长的跃迁横截面,横坐标波长,纵坐标为横截面 RfTGTz@H 9!uiQ include"Units.inc" !读取“Units.inc”文件中内容 PgK7CG7G _7;:*'>a4 include"Tm-silicate.inc" !读取光谱数据 p+V#86(3 @
G)yz!H ; Basic fiberparameters: !定义基本光纤参数 gHstdp_3 L_f := 4 { fiberlength } !光纤长度 \*e\MOp6 No_z_steps := 50 {no steps along the fiber } !光纤步长,大括号{ }是注释,相当于备注 Px=@Tw N, r_co := 6 um { coreradius } !纤芯半径 Q7XOO3<): N_Tm := 100e24 { Tmdoping concentration } !纤芯Tm离子掺杂浓度 ,n8\y9{G xxu ; Parameters of thechannels: !定义光信道 (XVBH1p" l_p := 790 nm {pump wavelength } !泵浦光波长790nm ]$lt dir_p := forward {pump direction (forward or backward) } !前向泵浦 vsj4?0= P_pump_in := 5 {input pump power } !输入泵浦功率5W f2;.He w_p := 50 um {radius of pump cladding } !包层泵浦相应的半径 50um w(6n I_p(r) := (r <=w_p) { pump intensity profile } !泵浦光强度分布 *|dr-e_j loss_p := 0 {parasitic losses of pump wave } !泵浦光寄生损耗为0 y')OmR2h E(PBV l_s := 1940 nm {signal wavelength } !信号光波长1940nm s4"OsgP+ w_s := 7 um !信号光的半径 WrGnLE
kiV I_s(r) := exp(-2 *(r / w_s)^2) !信号光的高斯强度分布 _{cCo: loss_s := 0 !信号光寄生损耗为0
qt~=47<d HTOr R_oc := 0.70 {output coupler reflectivity (right side) } !输出耦合反射率 ~bhS$*t64 *$<W"@%^J ; Function for defining themodel: !定义模型函数,一定要有calc命令,否则函数只会被定义,但不会被执行 'V]&X.=zC calc rR#Ditn^ begin A<X?1$ global allow all; !声明全局变量 Eu`|8# [ W set_fiber(L_f, No_z_steps, ''); !光纤参数 lQ;BI~ add_ring(r_co, N_Tm); 6UeY Z g def_ionsystem(); !光谱数据函数 RPW46l34 pump := addinputchannel(P_pump_in, l_p,'I_p', loss_p, dir_p); !泵浦光信道 8#7qHT;cx signal_fw := addinputchannel(0, l_s, 'I_s',loss_s, forward); !前向信号光信道 FzJ7 OE| signal_bw := addinputchannel(0, l_s, 'I_s',loss_s, backward); !后向信号光信道 K] (*l"'U5 set_R(signal_fw, 1, R_oc); !设置反射率函数 gQ>kDl^$Ls finish_fiber(); ! ;t\lgMl end; IFp%Ta X@\W*
nq ; Display someoutputs in the Output window (on the right side): !在Output aera区域显示输出 W#p7M[ show "Outputpowers:" !输出字符串Output powers: hF,|()E[ show"pump: ", P_out(pump):d3:"W" !输出字符串pump:和计算值(格式为3个有效数字,单位W) i3,IEN show"signal: ",P_out(signal_fw):d3:"W" !输出字符串signal:和计算值(格式为3个有效数字,单位W) \#_ymM0 P0n1I7| 9 %T??- ; ------------- Dw%'u'HG diagram 1: !输出图表1 by/H:5}7 -!j6& "Powers vs.Position" !图表名称 i41~-?Bc cKt=? x: 0, L_f !命令x: 定义x坐标范围 $eYL|?P50h "position infiber (m)", @x !x轴标签;@x 指示这些字符串沿坐标轴放置 G](4!G& y: 0, 15 !命令y: 定义y坐标范围 $^ws#}j y2: 0, 100 !命令y2: 定义第二个y坐标范围 K*>%,mP$i frame !frame改变坐标系的设置 t*gZcw5 r legpos 600, 500 !图行在图表窗口中的位置(相对于左上角而言) t}YcB`q) hx !平行于x方向网格 <.6rl hy !平行于y方向网格 Ek_5% n l-+=Yk!X f: P(pump, x), !命令f: 定义函数图;P(pump, x)函数是计算x位置处的泵浦光功率 C`[<6>&y
color = red, !图形颜色 {o}U"b<+Ra width = 3, !width线条宽度 p0Jr{hM "pump" !相应的文本字符串标签 Q/+`9z+c f: P(signal_fw, x), !P(signal_fw ,x) 函数是计算x位置处的前向信号光功率 Jb QK$[z" color = blue, dHc\M|HCC width = 3, v'W{+>. "fw signal" IfK~~XYG f: P(signal_bw, x), !P(signal_bw ,x) 函数是计算x位置处的后向信号光功率 7Y5 r3a}% color = blue, Y![Q1D!
style = fdashed, 9TW[;P2> ) width = 3, zjpZ] $ "bw signal" 3p0v xb,XI/ f: 100 * n(x, 2), !n(x ,2) 函数是计算x位置处激活粒子数在能级2上的占比 QyD0WC}i yscale = 2, !第二个y轴的缩放比例 {&=+lr_h? color = magenta, V`Cyx^P width = 3, Q^(CqQo!< style = fdashed, 8xPt1Sotq[ "n2 (%, right scale)" 4q}+8F`0F 2J7|y\N, f: 100 * n(x, 3), !n(x ,3) 函数是计算x位置处激活粒子数在能级3上的占比 !5`MiH yscale = 2, hd3 color = red, :os8" width = 3, B9maz"lJ style = fdashed, ~g{j)"1 "n3 (%, right scale)" ;c!> = PG&t~4QM` nip6|dN ; ------------- 5,"c1[`- diagram 2: !输出图表2 #e'>9T Rx-\B$G "Variation ofthe Pump Power" [G<ga80 fVbjU1N x: 0, 10 #Rw!a#CX. "pump inputpower (W)", @x wQhNQ(H~\ y: 0, 10 R#T-o,m y2: 0, 100 ;b<w'A_1 frame TSB2]uH hx &jE\D^>ko hy d?zSwLsl legpos 150, 150 Coi[cfg0 Bqf(6\)F f: (set_P_in(pump, x);P_out(signal_fw)), !set_P_in(pump,x)改变泵浦信道功率;P_out(signal_fw)输出前向信号光 V]7/hN-Y} step = 5, Ku(YTXtK color = blue, `YNzcn0x width = 3, G+zhL6]F
"signal output power (W, leftscale)", !相应的文本字符串标签 19E(Hsz finish set_P_in(pump, P_pump_in) `3;EJDEdbi }Fe6L;^; f: (set_P_in(pump,x); 100 * n_av(2)), !改变泵浦信号功率对能级2上激活粒子占比的影响 F&d!fEHU yscale = 2, w!F>fcm step = 5, =:H-9 color = magenta, X +`Dg:: width = 3, 5vx 4F f "population of level 2 (%, rightscale)", I,-n[k\J finish set_P_in(pump, P_pump_in) 'S`l[L:.8 hA7=:LG f: (set_P_in(pump,x); 100 * n_av(3)), !改变泵浦信号功率对能级3上激活粒子占比的影响 6S`_L yscale = 2, V*vQNPey step = 5, x[0T$ color = red, `16'qc width = 3, ]
K$YtM^ "population of level 3 (%, rightscale)", )lG}B U. finish set_P_in(pump, P_pump_in) Z/Rp?Jz\j/ pN9 ! y``\^F ; ------------- ynIe4b diagram 3: !输出图表3 JW>k8QjyN qc8Ge\3s "Variation ofthe Fiber Length" jSI1tW8 };Q}C0E x: 0.1, 5 csP4Oq\g[ "fiber length(m)", @x q/s-".%P y: 0, 10 7`|'Om?' "opticalpowers (W)", @y u
r$ frame dxeiN#(XT hx \e86'& hy WtOjPW U0&myj 8L f: (set_L(x);P_out(signal_fw)), !改变光纤长度对信号光输出功率的影响 VVJ0?G
(? step = 20, lp`j3) color = blue, iOiFkka width = 3, "Bd-h|J "signal output" 6H|SiO9 "f91YX_) ;f: (set_L(x);P_out(pump)), !改变光纤长度对泵浦信号输出功率的影响 9z(SOzZn step = 20, color = red, width = 3,"residual pump" Cl0kR3Y d{fd5jv; ! set_L(L_f) {restore the original fiber length } 72nZ`u <*5S7)]BP [2@:jLth= ; ------------- ZF7n]LgSc& diagram 4: !输出图表4 F_@B ` , x6cG'3&T "TransverseProfiles" }qWnn>h9xv FGVw=G{r I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) $ }/tlA&e c.>f,vtcn x: 0, 1.4 * r_co /um [N,+mX "radialposition (µm)", @x #9GfMxH y: 0, 1.2 * I_max *cm^2 8a6.77c "intensity (W/ cm²)", @y SdnnXEB7 y2: 0, 1.3 * N_Tm vu(
5s frame }3lG'Y#Kpy hx ag'hHFV hy u!X~!h-6~ Kbu>U{' f: N_dop(1, x * um,0), !掺杂浓度的径向分布 & AK\Pw) yscale = 2, }83
8F& color = gray, ?d Jd7+A width = 3, "`M~=RiI maxconnect = 1, c/Pql!h+ "N_dop (right scale)" `:&RB4Z :Wbp|:N0 f: I(pump, -1, x *um, 0) * cm^2, !泵浦光沿光纤径向的强度分布 ^\PRzY color = red, L&6^(Bn maxconnect = 1, !限制图形区域高度,修正为100%的高度 4U dk# width = 3, !Q\*a-C "pump"
ZX/FIxpy ;Z*rY?v f: I(signal_fw, -1,x * um, 0) * cm^2, !信号光沿光纤径向的强度分布 A;8kC} color = blue, 5WI
bnV@ maxconnect = 1, /Xi21W/ width = 3, / =9Y(v "signal" #?)6^uTW ;bwBd:Y y A5h^I ; ------------- & %/p;::A diagram 5: !输出图表5 g;Ugr8 syu/"KY^! "TransitionCross-sections" M"*NV(".g WWSycH
?[ I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) /)[-5n{ qt9jZtx x: 1450, 2050 "6C
a{n1hk "wavelength(nm)", @x R+.4|1p y: 0, 0.6 +mjwX?yF "cross-sections(1e-24 m²)", @y PxYK)n9& frame xY?p(>( hx g7323m1= hy 6"iNh) C9+rrc@4 f: s12_Tm(x * nm) /1e-24, !Tm3+吸收截面与波长的关系 +788aK,{# color = red, .4]XR/I$ width = 3, #_^p~: "absorption" <yl@!-'J7 f: s21_Tm(x * nm) /1e-24, !Tm3+发射截面与波长的关系 YnnK]N;\x color = blue, |8E~C~d width = 3, ?5't1219 "emission" 8(j]=n6r ItLR|LO9
|
|