| 小火龙果 |
2020-05-28 16:28 |
RP Fiber Power仿真设计掺铥光纤激光器代码详解
(* -T,/S^ Demo for program"RP Fiber Power": thulium-doped fiber laser, nDFF,ge;a# pumped at 790 nm. Across-relaxation process allows for efficient %(P\"hE' population of theupper laser level. L~Hl?bK *) !(* *)注释语句 C;m,{MD b`9J1p.; diagram shown: 1,2,3,4,5 !指定输出图表 Dc1tND$X3g ; 1: "Powersvs. Position" !分号是注释;光纤长度对功率的影响 &8!~H<S ; 2:"Variation of the Pump Power" !泵浦光功率变化对信号输出功率的影响 Ar;uq7c,G ; 3:"Variation of the Fiber Length"!信号输出功率vs 光纤长度的变化,仿真最佳光纤长度 >qqI6@h]c ; 4:"Transverse Profiles" !横向分布,横坐标为半径位置 rfz\DvVd ; 5:"Transition Cross-sections" !不同波长的跃迁横截面,横坐标波长,纵坐标为横截面 1"hd5a 7])cu>/ include"Units.inc" !读取“Units.inc”文件中内容 RaT_5P H~g ,/bSa/x` include"Tm-silicate.inc" !读取光谱数据 `U.VfQR: (
!THd ; Basic fiberparameters: !定义基本光纤参数 WGK:XfOBQ L_f := 4 { fiberlength } !光纤长度 rUz-\H(- No_z_steps := 50 {no steps along the fiber } !光纤步长,大括号{ }是注释,相当于备注 P3W<a4 == r_co := 6 um { coreradius } !纤芯半径 ,A{'lu N_Tm := 100e24 { Tmdoping concentration } !纤芯Tm离子掺杂浓度 8V08>M eZck$]P(6H ; Parameters of thechannels: !定义光信道 e@`"V,i l_p := 790 nm {pump wavelength } !泵浦光波长790nm US.7:S-r" dir_p := forward {pump direction (forward or backward) } !前向泵浦
=JR6-A1> P_pump_in := 5 {input pump power } !输入泵浦功率5W q!qOy/}D w_p := 50 um {radius of pump cladding } !包层泵浦相应的半径 50um 2#XYR>[ I_p(r) := (r <=w_p) { pump intensity profile } !泵浦光强度分布 `Z'h[-2` loss_p := 0 {parasitic losses of pump wave } !泵浦光寄生损耗为0 4/Mi-ls_ N Dqvt$ l_s := 1940 nm {signal wavelength } !信号光波长1940nm VEc^Ap1?' w_s := 7 um !信号光的半径 Dp8`O4YC I_s(r) := exp(-2 *(r / w_s)^2) !信号光的高斯强度分布 y8!#G-d5 loss_s := 0 !信号光寄生损耗为0 T'K6Q cu J8;l G R_oc := 0.70 {output coupler reflectivity (right side) } !输出耦合反射率 Q ,`R-?v {\P`-'C ; Function for defining themodel: !定义模型函数,一定要有calc命令,否则函数只会被定义,但不会被执行 } 5nVZ; calc VJf|r#2 begin f6*6 *= global allow all; !声明全局变量 O/N@Gz[g% set_fiber(L_f, No_z_steps, ''); !光纤参数 K8R}2K-Y add_ring(r_co, N_Tm); l$\OSG def_ionsystem(); !光谱数据函数 45qSt2 pump := addinputchannel(P_pump_in, l_p,'I_p', loss_p, dir_p); !泵浦光信道 lG>,&( signal_fw := addinputchannel(0, l_s, 'I_s',loss_s, forward); !前向信号光信道 h,palP6^ signal_bw := addinputchannel(0, l_s, 'I_s',loss_s, backward); !后向信号光信道 w y\0o set_R(signal_fw, 1, R_oc); !设置反射率函数 rZi\ finish_fiber(); )*CDufRFz end; [2l2w[7Rid }}Kjb ; Display someoutputs in the Output window (on the right side): !在Output aera区域显示输出 *^@{LwY\M show "Outputpowers:" !输出字符串Output powers: RP9jZRDbZ show"pump: ", P_out(pump):d3:"W" !输出字符串pump:和计算值(格式为3个有效数字,单位W) )
u(Gf*t show"signal: ",P_out(signal_fw):d3:"W" !输出字符串signal:和计算值(格式为3个有效数字,单位W) aQTISX; ^{m&2l&87 pVa9g)+z} ; ------------- )[]*Y]vSx diagram 1: !输出图表1 iL6Yk @ "B34+fOur "Powers vs.Position" !图表名称 N+3]C9 2o ?B5934X x: 0, L_f !命令x: 定义x坐标范围 7%0V ?+]P "position infiber (m)", @x !x轴标签;@x 指示这些字符串沿坐标轴放置 "N*bV y: 0, 15 !命令y: 定义y坐标范围 4[P]+Z5b+ y2: 0, 100 !命令y2: 定义第二个y坐标范围 s-[v[w'E frame !frame改变坐标系的设置 f7y3BWOi] legpos 600, 500 !图行在图表窗口中的位置(相对于左上角而言) MJ..' $>TC hx !平行于x方向网格 .IkQo`_s: hy !平行于y方向网格 !VoAN5#; <5t2 +D]]} f: P(pump, x), !命令f: 定义函数图;P(pump, x)函数是计算x位置处的泵浦光功率 -H+<81"B# color = red, !图形颜色 6 *GR_sMm width = 3, !width线条宽度 >[A7oH "pump" !相应的文本字符串标签 %0MvCm f: P(signal_fw, x), !P(signal_fw ,x) 函数是计算x位置处的前向信号光功率 GLpl color = blue, -KA Y width = 3, v&]k8Hc- "fw signal" v{44`tR f: P(signal_bw, x), !P(signal_bw ,x) 函数是计算x位置处的后向信号光功率 ~B704i color = blue, Gkr?M^@K style = fdashed, &9ZrZ"] width = 3, -
fx?@ "bw signal" TilCP"(6D gT&s &0_7 f: 100 * n(x, 2), !n(x ,2) 函数是计算x位置处激活粒子数在能级2上的占比 ,g~Iup yscale = 2, !第二个y轴的缩放比例 "R5! VV color = magenta, .VG5 / 6zp width = 3, [~v1
style = fdashed, HVLj(_
A "n2 (%, right scale)" U-6pia/o 3X>x` f: 100 * n(x, 3), !n(x ,3) 函数是计算x位置处激活粒子数在能级3上的占比 g-8D1.U yscale = 2, B(t`$mC color = red, [zsUboCkc width = 3, Z.$)# vM5 style = fdashed, Ss$/Bh>hN "n3 (%, right scale)" 41XS/# M$* R[vA%G S"Z.M _ ; ------------- eR|u']Em>T diagram 2: !输出图表2 ZT
d)4f (`cXS5R "Variation ofthe Pump Power" sL",Ho !+H)N x: 0, 10 /JGET "pump inputpower (W)", @x DV!10NqUr y: 0, 10 =#so[Pd y2: 0, 100 VNT*@^O_= frame [~Vj(H=KwI hx m3']/}xHO hy my+2@ln legpos 150, 150 &peUC n w'Vm'zo f: (set_P_in(pump, x);P_out(signal_fw)), !set_P_in(pump,x)改变泵浦信道功率;P_out(signal_fw)输出前向信号光 ,>Yl(=& step = 5, +zL|j/q ? color = blue, e anR$I;Yj width = 3, O-,0c1ts "signal output power (W, leftscale)", !相应的文本字符串标签 kb~;s-$O`s finish set_P_in(pump, P_pump_in) CB KLct> f =T-4Of f: (set_P_in(pump,x); 100 * n_av(2)), !改变泵浦信号功率对能级2上激活粒子占比的影响 yLgv<%8f yscale = 2, k/,7FDO?m step = 5, U.A:'9K, color = magenta, N/x]-$fl width = 3, 0U&@;/? "population of level 2 (%, rightscale)", C;\R
62' finish set_P_in(pump, P_pump_in) _)XZ;Q iY;>LJmp f: (set_P_in(pump,x); 100 * n_av(3)), !改变泵浦信号功率对能级3上激活粒子占比的影响 @aC9O9|~ yscale = 2, m'PU0x step = 5, i1JVvNMQ, color = red, ~kp,;!^vr width = 3, ko+fJ&$ "population of level 3 (%, rightscale)", <X"_S'O finish set_P_in(pump, P_pump_in) p?V@P6h EN/r{Cm$B w<SFs#Z ; ------------- Msst:}QY diagram 3: !输出图表3 ! z6T_;s ;km ^ OO$ "Variation ofthe Fiber Length" h1Nd1h@- _@@.VmZL x: 0.1, 5 n`.JI(| "fiber length(m)", @x _~.S~;o!b y: 0, 10 a&!K5( "opticalpowers (W)", @y XP^[,)E frame :-tMH02c hx lnQY_~s hy %X**( KXT9Wt= f: (set_L(x);P_out(signal_fw)), !改变光纤长度对信号光输出功率的影响 ,lDOo+eE%: step = 20, c|s7cG$+- color = blue, Y6RbRcJw width = 3, [79iC$8B| "signal output" :k Kdda<g# S1a6uE ;f: (set_L(x);P_out(pump)), !改变光纤长度对泵浦信号输出功率的影响 ~v6]6+ step = 20, color = red, width = 3,"residual pump" '1"vwXJ" @kW RI* m ! set_L(L_f) {restore the original fiber length } Oh5aJ)"D 8}K4M( #+8G` ; ------------- wY=k$ diagram 4: !输出图表4 yYiu69v S*V!t= "TransverseProfiles" SNc $! 88On{Kk.v I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) +?v2MsF'] w5`EJp8MC x: 0, 1.4 * r_co /um ,}/6Za "radialposition (µm)", @x *~kHH y: 0, 1.2 * I_max *cm^2 ."Q}2 "intensity (W/ cm²)", @y c0Yc~&RF y2: 0, 1.3 * N_Tm O+"a0:GM frame q0{ _w hx &AnWMFo hy [Om,Q< .'bhRQY f: N_dop(1, x * um,0), !掺杂浓度的径向分布 0M!GoqaA yscale = 2, 1ZY~qP+n+ color = gray, `r]C%Y4? width = 3, t"?)x&dS maxconnect = 1, @?*;
-]#) "N_dop (right scale)" #ri;{d^6 HcM/ f: I(pump, -1, x *um, 0) * cm^2, !泵浦光沿光纤径向的强度分布 o>HU4O} color = red, Y=D\ maxconnect = 1, !限制图形区域高度,修正为100%的高度 '7
t:.88 width = 3, YySo%\d "pump" "V`5 $ur 8cGoo u6 f: I(signal_fw, -1,x * um, 0) * cm^2, !信号光沿光纤径向的强度分布 G7%f|
Y color = blue, Lk.tEuj=82 maxconnect = 1, %D3Asw/5a width = 3, JnLF61 "signal" bnZ H 06e dVIRr 0YAH[YF ; ------------- m(`O>zS diagram 5: !输出图表5 wz>[CXpi_ U |Uc|6 "TransitionCross-sections" w+$~ds &WZ&Tt/)/ I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) .'NTy
R )Em`kle x: 1450, 2050 #gVWLm< "wavelength(nm)", @x }#S1!TU y: 0, 0.6 :LCyxLI "cross-sections(1e-24 m²)", @y OZEbs 7 frame $HCgawQ hx ]QGo(+ hy mbns%%GJU 5A+@xhRf f: s12_Tm(x * nm) /1e-24, !Tm3+吸收截面与波长的关系 QD-`jV3 color = red, kH`?^^_yJ width = 3, *fz#B/_o "absorption" k*D8IB f: s21_Tm(x * nm) /1e-24, !Tm3+发射截面与波长的关系 8nwps(3 color = blue, Bru] ;%Qg% width = 3, ^SK!?M "emission" F` &W5[ I%NeCd
|
|