| 小火龙果 |
2020-05-28 16:28 |
RP Fiber Power仿真设计掺铥光纤激光器代码详解
(* #a l^Uqd Demo for program"RP Fiber Power": thulium-doped fiber laser, E cz"O
pumped at 790 nm. Across-relaxation process allows for efficient AWNd(B2o population of theupper laser level. HwK "qq- *) !(* *)注释语句 \Y 4Z Q"0Q mwhn=y#]* diagram shown: 1,2,3,4,5 !指定输出图表 K9Fnb6J$u ; 1: "Powersvs. Position" !分号是注释;光纤长度对功率的影响 VMXXBa& ; 2:"Variation of the Pump Power" !泵浦光功率变化对信号输出功率的影响 ml2z ; 3:"Variation of the Fiber Length"!信号输出功率vs 光纤长度的变化,仿真最佳光纤长度 K)@Buu&,p ; 4:"Transverse Profiles" !横向分布,横坐标为半径位置 /RmCMT ; 5:"Transition Cross-sections" !不同波长的跃迁横截面,横坐标波长,纵坐标为横截面 j( :A 3?(p; include"Units.inc" !读取“Units.inc”文件中内容 EKD>c$T^ YTit=4| include"Tm-silicate.inc" !读取光谱数据 Oei2,3l,? N^N?!I ; Basic fiberparameters: !定义基本光纤参数 O+J;Hp;\_ L_f := 4 { fiberlength } !光纤长度 s~w+bwr No_z_steps := 50 {no steps along the fiber } !光纤步长,大括号{ }是注释,相当于备注 OwaXG/z~ r_co := 6 um { coreradius } !纤芯半径 ?@(H.
D6'v N_Tm := 100e24 { Tmdoping concentration } !纤芯Tm离子掺杂浓度 ]~ M
-KT `:4cb$ ; Parameters of thechannels: !定义光信道 zghm2{:`?g l_p := 790 nm {pump wavelength } !泵浦光波长790nm 2ow\d b dir_p := forward {pump direction (forward or backward) } !前向泵浦 N|LVLsK P_pump_in := 5 {input pump power } !输入泵浦功率5W UQ~rVUo.c w_p := 50 um {radius of pump cladding } !包层泵浦相应的半径 50um [40 YoVlfM I_p(r) := (r <=w_p) { pump intensity profile } !泵浦光强度分布 TI loss_p := 0 {parasitic losses of pump wave } !泵浦光寄生损耗为0 E9hWn0 e x"80c(i l_s := 1940 nm {signal wavelength } !信号光波长1940nm +rY0/T_0, w_s := 7 um !信号光的半径 o7seGw<$X I_s(r) := exp(-2 *(r / w_s)^2) !信号光的高斯强度分布 ^IYN"yX_ loss_s := 0 !信号光寄生损耗为0 ,&SJ?XAs ?Sxnq#r# R_oc := 0.70 {output coupler reflectivity (right side) } !输出耦合反射率 G9q0E| OpE+e4~IF ; Function for defining themodel: !定义模型函数,一定要有calc命令,否则函数只会被定义,但不会被执行 I:"`|eHxv calc N!,l4!M\N begin Hkt'~L* global allow all; !声明全局变量 ')V5hKb^ set_fiber(L_f, No_z_steps, ''); !光纤参数 RI;RE/Z add_ring(r_co, N_Tm); swA"_A8>u def_ionsystem(); !光谱数据函数 .Ps;O pump := addinputchannel(P_pump_in, l_p,'I_p', loss_p, dir_p); !泵浦光信道 -~k2Gy;E signal_fw := addinputchannel(0, l_s, 'I_s',loss_s, forward); !前向信号光信道 |O?Aj1g[c? signal_bw := addinputchannel(0, l_s, 'I_s',loss_s, backward); !后向信号光信道 9g"H9)EZ^ set_R(signal_fw, 1, R_oc); !设置反射率函数 TbuR?# finish_fiber(); iz(+(M end; 8hg(6 XUG 5KSsRq/8" ; Display someoutputs in the Output window (on the right side): !在Output aera区域显示输出 Gov{jksr show "Outputpowers:" !输出字符串Output powers: \zwb> ^ show"pump: ", P_out(pump):d3:"W" !输出字符串pump:和计算值(格式为3个有效数字,单位W) =I1@ O9}+i show"signal: ",P_out(signal_fw):d3:"W" !输出字符串signal:和计算值(格式为3个有效数字,单位W) \^cn}db) {xX|5/z )J0VB't ; ------------- G#Ow>NJ diagram 1: !输出图表1 /'(P{O>{j HApP*1J^c "Powers vs.Position" !图表名称 C*!_. <b n6}1{\ x: 0, L_f !命令x: 定义x坐标范围 E
\RU[ "position infiber (m)", @x !x轴标签;@x 指示这些字符串沿坐标轴放置 %XeU4yg\e y: 0, 15 !命令y: 定义y坐标范围 d\f5\Y y2: 0, 100 !命令y2: 定义第二个y坐标范围 D 4wB
&~U frame !frame改变坐标系的设置 4
#N#[;M legpos 600, 500 !图行在图表窗口中的位置(相对于左上角而言) .8m)^ET hx !平行于x方向网格 "$&F]0 hy !平行于y方向网格 TBco ^5+-7+-S f: P(pump, x), !命令f: 定义函数图;P(pump, x)函数是计算x位置处的泵浦光功率 V1G]LM color = red, !图形颜色 hbK+\X width = 3, !width线条宽度 THJ+OnP "pump" !相应的文本字符串标签 2i)y'+s f: P(signal_fw, x), !P(signal_fw ,x) 函数是计算x位置处的前向信号光功率 &}uO ]0bR color = blue, 1jyWP#M# width = 3, [~3p+ "fw signal" V4H+m,R f: P(signal_bw, x), !P(signal_bw ,x) 函数是计算x位置处的后向信号光功率 eD3F%wxz color = blue, )+G(4eIT style = fdashed, AN;?`AM; width = 3, L!Ro`6|7; "bw signal" N?XN$hwdZ `3-j%H2R f: 100 * n(x, 2), !n(x ,2) 函数是计算x位置处激活粒子数在能级2上的占比 UgP5^3F2 yscale = 2, !第二个y轴的缩放比例 @&+
1b= color = magenta, L8fr
uwb width = 3, o\#C] pp style = fdashed, {e^llfj$# "n2 (%, right scale)" ;P_Zen 0)B+: f: 100 * n(x, 3), !n(x ,3) 函数是计算x位置处激活粒子数在能级3上的占比 580t@? yscale = 2, OL>/FOH:Fx color = red, s$en5) width = 3, R Mm`<:H_ style = fdashed, 4*3vZ6lhu "n3 (%, right scale)" HUJ $e2[ l>ttxYBa<d JeA}d ; ------------- FueJe/~t diagram 2: !输出图表2 }Z6/b
_kV w-2]69$k "Variation ofthe Pump Power" ,'j5tU?c "`S61m_ x: 0, 10 1pK7EK3R "pump inputpower (W)", @x (GV6%l#I y: 0, 10 t*x;{{jL#( y2: 0, 100 uzo}?X# frame ZFzOW hx QWoEo hy <L-L}\-I" legpos 150, 150 P'K')]D=! 25(\'484> f: (set_P_in(pump, x);P_out(signal_fw)), !set_P_in(pump,x)改变泵浦信道功率;P_out(signal_fw)输出前向信号光 ;i]cmy step = 5, s0:1G
-I color = blue, S("bN{7nE width = 3, &jJgAZ! "signal output power (W, leftscale)", !相应的文本字符串标签 _RmrjDk finish set_P_in(pump, P_pump_in) 4-m%[D
|W "*0
szz' f: (set_P_in(pump,x); 100 * n_av(2)), !改变泵浦信号功率对能级2上激活粒子占比的影响 +$-a:zx`l yscale = 2, ^K"`k43{ step = 5, Np<Aak color = magenta, k@2gw]y" width = 3, 82<L07fB "population of level 2 (%, rightscale)", \ Q6Ip@? finish set_P_in(pump, P_pump_in) ':,LZ A8A z23KSPo f: (set_P_in(pump,x); 100 * n_av(3)), !改变泵浦信号功率对能级3上激活粒子占比的影响 '>6-ie^0 yscale = 2, K5KN}sRs" step = 5, UY+~xzm color = red, :$WRV- width = 3, OjCT%6hy; "population of level 3 (%, rightscale)", ;2iZX=P`n finish set_P_in(pump, P_pump_in) ;V;4# H(AYtnvB {T IGPK ; ------------- rQWft r^ diagram 3: !输出图表3 7+ysE 7Ct m({I- "Variation ofthe Fiber Length" 0Zq"- rf~Ss< x: 0.1, 5 h {m]n! "fiber length(m)", @x ka'MF;!rc y: 0, 10 ;(afz?T "opticalpowers (W)", @y N>~*Jp2; frame NlDM/ hx 0L6L_;o hy M *}$$Fe| i2*nYd`K f: (set_L(x);P_out(signal_fw)), !改变光纤长度对信号光输出功率的影响 t.w?OyO step = 20, sJD"u4#y color = blue, " JRlj width = 3, J7xZo=@k "signal output" RBb@@k[v F^\v`l, ;f: (set_L(x);P_out(pump)), !改变光纤长度对泵浦信号输出功率的影响 6?74l; step = 20, color = red, width = 3,"residual pump" b,'./{c0 n`hSn41A ! set_L(L_f) {restore the original fiber length } MT*b+&1e Ax\Fg
5 7#&sG
; ------------- jzV#%O{` diagram 4: !输出图表4 H(X~=r V *]!N "TransverseProfiles" hImCy9i} 6y0C I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) GwvxX&P L{=z}QO x: 0, 1.4 * r_co /um 'FVT"M~ "radialposition (µm)", @x OJK/> y: 0, 1.2 * I_max *cm^2 nO/5X>A,Zw "intensity (W/ cm²)", @y 4>|5B: y2: 0, 1.3 * N_Tm A#i-C+"} frame
2O
hx
SX4p(t hy lC2xl( #! |&'*Z\*ya f: N_dop(1, x * um,0), !掺杂浓度的径向分布 zqeU>V~<F yscale = 2, A~6 Cs color = gray, h~1QmEat width = 3, !F8
!]"* maxconnect = 1, WX[ycm8 "N_dop (right scale)" %`TLs^ nGf@zJDb f: I(pump, -1, x *um, 0) * cm^2, !泵浦光沿光纤径向的强度分布 '-x%?Ll color = red, -lp_~)j^ maxconnect = 1, !限制图形区域高度,修正为100%的高度 }_;nln?t( width = 3, i6-K! "pump" HqgH\ w"e2}iE7 f: I(signal_fw, -1,x * um, 0) * cm^2, !信号光沿光纤径向的强度分布 uqn Z color = blue, ?( '%QfT maxconnect = 1, Y}6)jzBV width = 3, ALv\"uUNu+ "signal" LiRY-;8= w7C=R8^ v+OVZDf ; ------------- %(]rc%ry0 diagram 5: !输出图表5 9D<HJ( [q@%)F "TransitionCross-sections" vZxy9Wmc ovohl<o\ I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) -bE|FFU 1-n0"lP~4 x: 1450, 2050 Hke\W'& "wavelength(nm)", @x :Ls36E8f= y: 0, 0.6 L_~G`Rb3 "cross-sections(1e-24 m²)", @y n&fV3[m`2 frame 3LmHH
= hx jDnh/k0{d hy 7Av]f3Zr \,Ndg*qC f: s12_Tm(x * nm) /1e-24, !Tm3+吸收截面与波长的关系 87Kx7CKF" color = red, (07d0 <<[ width = 3, *G^]j
)/ "absorption" ^#o.WL%4/B f: s21_Tm(x * nm) /1e-24, !Tm3+发射截面与波长的关系 OrBFe *2y color = blue, yV. P.Q width = 3, .EdV36$n "emission" HL?pnT09 .EcM n
|
|