小火龙果 |
2020-05-28 16:28 |
RP Fiber Power仿真设计掺铥光纤激光器代码详解
(* ~`Q8)(y<#$ Demo for program"RP Fiber Power": thulium-doped fiber laser, &M$s@FUY pumped at 790 nm. Across-relaxation process allows for efficient PqMU&H_ population of theupper laser level. $E;`Y|r%WK *) !(* *)注释语句 /"d5<B `% qp>V\h\ diagram shown: 1,2,3,4,5 !指定输出图表 rSU%!E+|< ; 1: "Powersvs. Position" !分号是注释;光纤长度对功率的影响 a%2r]:?^? ; 2:"Variation of the Pump Power" !泵浦光功率变化对信号输出功率的影响 /p|]*={ ; 3:"Variation of the Fiber Length"!信号输出功率vs 光纤长度的变化,仿真最佳光纤长度 Jq1 Zb ; 4:"Transverse Profiles" !横向分布,横坐标为半径位置 m09
Bds ; 5:"Transition Cross-sections" !不同波长的跃迁横截面,横坐标波长,纵坐标为横截面 '+tU8 Pb uVJ;1H! include"Units.inc" !读取“Units.inc”文件中内容 >SA?lG8f% q=8I0E&q include"Tm-silicate.inc" !读取光谱数据 j'lfH6_')e YnZV.&4{ ; Basic fiberparameters: !定义基本光纤参数 OyVdQ". L_f := 4 { fiberlength } !光纤长度 3RpDIl`0 No_z_steps := 50 {no steps along the fiber } !光纤步长,大括号{ }是注释,相当于备注 p;av63i r_co := 6 um { coreradius } !纤芯半径 |ToCRM N_Tm := 100e24 { Tmdoping concentration } !纤芯Tm离子掺杂浓度 a@_.uD SJhcmx+ ; Parameters of thechannels: !定义光信道 1X\dH<B} l_p := 790 nm {pump wavelength } !泵浦光波长790nm |n-NK&Y(o dir_p := forward {pump direction (forward or backward) } !前向泵浦 Q8.SD p P_pump_in := 5 {input pump power } !输入泵浦功率5W !$ikH,Bh w_p := 50 um {radius of pump cladding } !包层泵浦相应的半径 50um :5?g<@ I_p(r) := (r <=w_p) { pump intensity profile } !泵浦光强度分布 Qn>0s loss_p := 0 {parasitic losses of pump wave } !泵浦光寄生损耗为0 >/;V_(
@A(*&PU>j l_s := 1940 nm {signal wavelength } !信号光波长1940nm j*"V!d w_s := 7 um !信号光的半径 wkm;yCF+ I_s(r) := exp(-2 *(r / w_s)^2) !信号光的高斯强度分布 yP\KIm! loss_s := 0 !信号光寄生损耗为0 4}B9y3W:v qG.HJD R_oc := 0.70 {output coupler reflectivity (right side) } !输出耦合反射率 L1#z'<IO mx s=< ; Function for defining themodel: !定义模型函数,一定要有calc命令,否则函数只会被定义,但不会被执行 H:x=v4NgsU calc &CW,qY,sh begin qYj
EQz global allow all; !声明全局变量 ES72yh] set_fiber(L_f, No_z_steps, ''); !光纤参数 {f]K3V add_ring(r_co, N_Tm); /5:C$ik def_ionsystem(); !光谱数据函数 X&sXss<fO% pump := addinputchannel(P_pump_in, l_p,'I_p', loss_p, dir_p); !泵浦光信道 &i*/}OZz signal_fw := addinputchannel(0, l_s, 'I_s',loss_s, forward); !前向信号光信道 2<Lnfc<^k signal_bw := addinputchannel(0, l_s, 'I_s',loss_s, backward); !后向信号光信道 CSx V^ set_R(signal_fw, 1, R_oc); !设置反射率函数 YUdCrb9F finish_fiber(); L~fxVdUz end; f]H[uzsV *"#62U6 ; Display someoutputs in the Output window (on the right side): !在Output aera区域显示输出 omQaN#!, show "Outputpowers:" !输出字符串Output powers: _SM5x,Zd show"pump: ", P_out(pump):d3:"W" !输出字符串pump:和计算值(格式为3个有效数字,单位W) E/9h"zowS show"signal: ",P_out(signal_fw):d3:"W" !输出字符串signal:和计算值(格式为3个有效数字,单位W) o9+"6V|. 3B:U>F,]4 }6SfI; ; ------------- ?qwTOi diagram 1: !输出图表1 B'\^[ 4PUSFZK? "Powers vs.Position" !图表名称 )`?Es8uW KWIH5* AM x: 0, L_f !命令x: 定义x坐标范围 U%3d_"{; "position infiber (m)", @x !x轴标签;@x 指示这些字符串沿坐标轴放置 tW;?4}JR
y: 0, 15 !命令y: 定义y坐标范围 Fi.gf?d y2: 0, 100 !命令y2: 定义第二个y坐标范围 v[VUX69 frame !frame改变坐标系的设置 Z+h^ ie"g legpos 600, 500 !图行在图表窗口中的位置(相对于左上角而言) Z_{`$nW hx !平行于x方向网格 ](yw2c;me hy !平行于y方向网格 jO\29(_ *het_;)+{ f: P(pump, x), !命令f: 定义函数图;P(pump, x)函数是计算x位置处的泵浦光功率 w7NJ~iy color = red, !图形颜色 ~`M>&E@Y_/ width = 3, !width线条宽度 46c7f*1l "pump" !相应的文本字符串标签 B,?Fjot#m f: P(signal_fw, x), !P(signal_fw ,x) 函数是计算x位置处的前向信号光功率 qUX color = blue, L|4kv width = 3, 1'tagv?
"fw signal" MJsz f: P(signal_bw, x), !P(signal_bw ,x) 函数是计算x位置处的后向信号光功率 Srw ciF color = blue, >}{'{
Z
& style = fdashed, %/!n]g- width = 3, #@xSR:m "bw signal" SiJ0r
@ |&vQ1o|} f: 100 * n(x, 2), !n(x ,2) 函数是计算x位置处激活粒子数在能级2上的占比 *gRg--PY% yscale = 2, !第二个y轴的缩放比例 Erz{{kf]1V color = magenta, vUD,%@k9 width = 3, 3In`
!@ EJ style = fdashed, [v$_BS#u^3 "n2 (%, right scale)" .U|e#t ,|SO'dG f: 100 * n(x, 3), !n(x ,3) 函数是计算x位置处激活粒子数在能级3上的占比 ZC+F*:$ yscale = 2, D6&fDhO27 color = red, WbZ{)
i width = 3, 7e$\|~< style = fdashed, z-(@j;. "n3 (%, right scale)" z[:UPPbW sIQd} ~I<yN`5(a ; ------------- lN94 b3_W diagram 2: !输出图表2 bZ c&uq_ weCRhA "Variation ofthe Pump Power" .-[uQtyWW ])paU8u x: 0, 10 Hm2}xnY "pump inputpower (W)", @x ~J1;Z0}# y: 0, 10 gNr/rp9A$m y2: 0, 100 \z!*)v/{- frame .&d]7@!qy hx %jEdgD%xV hy S^|Uzc legpos 150, 150 F. X{(8 cQDn_Sjhi f: (set_P_in(pump, x);P_out(signal_fw)), !set_P_in(pump,x)改变泵浦信道功率;P_out(signal_fw)输出前向信号光 #iD5&
klo\ step = 5, AkdONKO8{ color = blue, sOA!Sl width = 3, v|acKux=t "signal output power (W, leftscale)", !相应的文本字符串标签 `[\*1GpAo finish set_P_in(pump, P_pump_in) WHxq-&= R o :/J f: (set_P_in(pump,x); 100 * n_av(2)), !改变泵浦信号功率对能级2上激活粒子占比的影响 Q:?]:i/* yscale = 2, h-`Jd>u" step = 5, J \U}U'qP color = magenta, krwY_$q width = 3, %Y8#I3jVJ "population of level 2 (%, rightscale)", ~5$V8yfx h finish set_P_in(pump, P_pump_in) =KJK'1m9 UlQZw*ce f: (set_P_in(pump,x); 100 * n_av(3)), !改变泵浦信号功率对能级3上激活粒子占比的影响 5sui*WH yscale = 2, -+4:}
sD step = 5, S)Cd1`Gf color = red, %.,-dV' width = 3, clK3kBh~& "population of level 3 (%, rightscale)", zR:Mg\ finish set_P_in(pump, P_pump_in) tU7,nE>p vtw{
A} <;\T
e4g[ ; ------------- ? _36uJo} diagram 3: !输出图表3 'J~{8w,. INrl^P* "Variation ofthe Fiber Length" 5|YpkY Dg~r%F x: 0.1, 5 Nzj7e 1= "fiber length(m)", @x g2L^cP>2 y: 0, 10 tcOgF: "opticalpowers (W)", @y %RA8M-
d frame MB|+F hx j|3p.Cy hy 0eq="|n^| kzPHPERA] f: (set_L(x);P_out(signal_fw)), !改变光纤长度对信号光输出功率的影响 s,>_kxuX step = 20, [*zB
vj}G color = blue, wN/d
J width = 3, v-2_# "signal output" >0kn&pe7#T +')\,m "z ;f: (set_L(x);P_out(pump)), !改变光纤长度对泵浦信号输出功率的影响 +e_NpC step = 20, color = red, width = 3,"residual pump" 2Jo'!|] WP-?C<Iw ! set_L(L_f) {restore the original fiber length } |&Gm.[IX;q i-Ck:-J '&@'V5}C{ ; ------------- v <1d3G=G diagram 4: !输出图表4
=$3]% b}
|x*~PXb "TransverseProfiles" -g8G47piX: +O
P8U]~ I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) xab1`~%K In)8AK(Hw x: 0, 1.4 * r_co /um En$-,8\% "radialposition (µm)", @x ,Cx @]] y: 0, 1.2 * I_max *cm^2 m~"<k d "intensity (W/ cm²)", @y EGWm0 F_ y2: 0, 1.3 * N_Tm <PL94 frame M]&F1< hx 7+wy`xi hy 6$-Ex "<6X=|C f: N_dop(1, x * um,0), !掺杂浓度的径向分布 _bB:1l?V yscale = 2, qP? V{N color = gray, \k\ {S2SU width = 3, 0OLE/T<Xv maxconnect = 1, Rn6;@Cw "N_dop (right scale)" yT<6b)&*& guJS;VC6U f: I(pump, -1, x *um, 0) * cm^2, !泵浦光沿光纤径向的强度分布 =`fJ color = red, ?,8|K B maxconnect = 1, !限制图形区域高度,修正为100%的高度 RGd@3OjN width = 3, k?-GI[@X "pump" (ZR+(+i, AA[(rw f: I(signal_fw, -1,x * um, 0) * cm^2, !信号光沿光纤径向的强度分布 4D(5WJ& color = blue, yn=BO`sgW maxconnect = 1, Gs^hqT;h width = 3, {&Kck>C' "signal" A/eZnsk J`/ t;xk ! h7?Ap ; ------------- fLM5L_S}Y diagram 5: !输出图表5 +>BLox6 ~)Z{ Yj9)S "TransitionCross-sections" <1i:Z*l. tQz =_;jy I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) wyF'B 49S*f x: 1450, 2050 ;!H<W[ "wavelength(nm)", @x XV)<Oav s y: 0, 0.6 9z>I&vcX "cross-sections(1e-24 m²)", @y B!: %^S frame 8nCw1 hx YC(7k7 hy tf?syk+jB7 f|U;4{k f: s12_Tm(x * nm) /1e-24, !Tm3+吸收截面与波长的关系 {C+blzh6 color = red, CG@3z@*?. width = 3, GQ=Zp3[ "absorption" r@e/< | |