| 小火龙果 |
2020-05-28 16:28 |
RP Fiber Power仿真设计掺铥光纤激光器代码详解
(* >h$Q%w{V Demo for program"RP Fiber Power": thulium-doped fiber laser, ;O<-4$ pumped at 790 nm. Across-relaxation process allows for efficient {WTy/$ Qk population of theupper laser level. Z~;rp`P *) !(* *)注释语句 P<LmCYm qsYg%Z diagram shown: 1,2,3,4,5 !指定输出图表 ^h2!u'IQ ; 1: "Powersvs. Position" !分号是注释;光纤长度对功率的影响 NE|Q0g ; 2:"Variation of the Pump Power" !泵浦光功率变化对信号输出功率的影响 ;B{oGy. ; 3:"Variation of the Fiber Length"!信号输出功率vs 光纤长度的变化,仿真最佳光纤长度 P!XO8X 1F ; 4:"Transverse Profiles" !横向分布,横坐标为半径位置 vPrlRG6 ; 5:"Transition Cross-sections" !不同波长的跃迁横截面,横坐标波长,纵坐标为横截面 Ieh<|O,-C xO4""/n include"Units.inc" !读取“Units.inc”文件中内容 ^W~8)Rbf s#Xfu\CP include"Tm-silicate.inc" !读取光谱数据 ?gMq:[XN $s"-r9@q ; Basic fiberparameters: !定义基本光纤参数 m\MI 6/ L_f := 4 { fiberlength } !光纤长度 +&<k}Mz No_z_steps := 50 {no steps along the fiber } !光纤步长,大括号{ }是注释,相当于备注 FRsp?i
K) r_co := 6 um { coreradius } !纤芯半径 r,:acK N_Tm := 100e24 { Tmdoping concentration } !纤芯Tm离子掺杂浓度 ^Iqu ^n?2. (g1Op~EM ; Parameters of thechannels: !定义光信道 4hkyq>c} l_p := 790 nm {pump wavelength } !泵浦光波长790nm .S]*A b dir_p := forward {pump direction (forward or backward) } !前向泵浦 6lUC$B Y P_pump_in := 5 {input pump power } !输入泵浦功率5W `r0lu_.$]4 w_p := 50 um {radius of pump cladding } !包层泵浦相应的半径 50um /bL L!nD=^ I_p(r) := (r <=w_p) { pump intensity profile } !泵浦光强度分布 *aGJ$ P0 loss_p := 0 {parasitic losses of pump wave } !泵浦光寄生损耗为0 h+j*vX/! `$vf 9'\+ l_s := 1940 nm {signal wavelength } !信号光波长1940nm }%D${.R] w_s := 7 um !信号光的半径 ~Q}!4LH I_s(r) := exp(-2 *(r / w_s)^2) !信号光的高斯强度分布 g@Rs.Zq loss_s := 0 !信号光寄生损耗为0 a;\a>N4 O,#,` 2Qc R_oc := 0.70 {output coupler reflectivity (right side) } !输出耦合反射率 #8y"1I=i& JkKbw&65 ; Function for defining themodel: !定义模型函数,一定要有calc命令,否则函数只会被定义,但不会被执行 E
H|L1g calc ^~dC&!D begin 5tEkQ(Ei8 global allow all; !声明全局变量 46~nwi$,^ set_fiber(L_f, No_z_steps, ''); !光纤参数 +x<OyjY5?] add_ring(r_co, N_Tm); ~(:0&w%e def_ionsystem(); !光谱数据函数 s|X_:3\x pump := addinputchannel(P_pump_in, l_p,'I_p', loss_p, dir_p); !泵浦光信道 PzustC| signal_fw := addinputchannel(0, l_s, 'I_s',loss_s, forward); !前向信号光信道
3\cx(
signal_bw := addinputchannel(0, l_s, 'I_s',loss_s, backward); !后向信号光信道 MeAY\V%G=o set_R(signal_fw, 1, R_oc); !设置反射率函数 }rF4M1+B\ finish_fiber(); f+\ UVq? end; -z%->OUu t3=K>Y@w ; Display someoutputs in the Output window (on the right side): !在Output aera区域显示输出 3_]QtP3 show "Outputpowers:" !输出字符串Output powers: '}-QZ$|* show"pump: ", P_out(pump):d3:"W" !输出字符串pump:和计算值(格式为3个有效数字,单位W) at1oxmy show"signal: ",P_out(signal_fw):d3:"W" !输出字符串signal:和计算值(格式为3个有效数字,单位W) b~(S;1NS' IYa(B+nB) 4JXJ0T ar ; ------------- LLbI}: diagram 1: !输出图表1 Dn#UcMO>W -#R63f& "Powers vs.Position" !图表名称 md|I?vk P,rLyx x: 0, L_f !命令x: 定义x坐标范围 XXeDOrb "position infiber (m)", @x !x轴标签;@x 指示这些字符串沿坐标轴放置 r>.l^U9hJ y: 0, 15 !命令y: 定义y坐标范围 D%6}x^`Qk y2: 0, 100 !命令y2: 定义第二个y坐标范围 F*-'8~T frame !frame改变坐标系的设置 E )2/Vn2 legpos 600, 500 !图行在图表窗口中的位置(相对于左上角而言) {\|XuCF# hx !平行于x方向网格 '2rSX[$tf hy !平行于y方向网格 'pF$6n; *xpPD\{k f: P(pump, x), !命令f: 定义函数图;P(pump, x)函数是计算x位置处的泵浦光功率 5r dt color = red, !图形颜色 fJe5
i6`( width = 3, !width线条宽度 ^ (J%)&_\3 "pump" !相应的文本字符串标签 %4BQY>O)@ f: P(signal_fw, x), !P(signal_fw ,x) 函数是计算x位置处的前向信号光功率 l_,6<wWp color = blue, J?tnS6V width = 3, [jEA|rd~} "fw signal" >t.PU.OM f: P(signal_bw, x), !P(signal_bw ,x) 函数是计算x位置处的后向信号光功率 MJa`4[/ color = blue, o,xy' style = fdashed, 17w{hK4o8O width = 3, 1f?Fuw "bw signal" NdRE,HWd?$ , 10+Sh f: 100 * n(x, 2), !n(x ,2) 函数是计算x位置处激活粒子数在能级2上的占比 mxe\+j# yscale = 2, !第二个y轴的缩放比例 8:uh0 color = magenta, = \K/ulZo width = 3, a
FWTm,) style = fdashed, ::3[H$ "n2 (%, right scale)" KvI/!hl\ ?zVcP=p@ f: 100 * n(x, 3), !n(x ,3) 函数是计算x位置处激活粒子数在能级3上的占比 !#E-p?O. yscale = 2, >4HB~9dKU color = red, ]{I>HA5[ width = 3, U@(8)[?nxn style = fdashed, %{me<\( "n3 (%, right scale)" 8
-w|~y'; jP<6Q|5F E;"VI2F ; ------------- u!fZ>kS diagram 2: !输出图表2 dN){w _
E^~ {thf "Variation ofthe Pump Power" /Wdrpv-%,1 h645;sb0 x: 0, 10 ol`q7i. "pump inputpower (W)", @x .I>CL4_ y: 0, 10 !L_xcov!Y y2: 0, 100 #}8VUbJ frame YYvX@f hx "kucFf f hy TQvjU!> legpos 150, 150 $0]5b{i] 8zwH^q[`r f: (set_P_in(pump, x);P_out(signal_fw)), !set_P_in(pump,x)改变泵浦信道功率;P_out(signal_fw)输出前向信号光 jASK!3pY step = 5, e`5:46k| color = blue,
P# ;pQC width = 3, J>nta?/,X "signal output power (W, leftscale)", !相应的文本字符串标签 7mb5z/N finish set_P_in(pump, P_pump_in) 3@<m/% 9mpQusM f: (set_P_in(pump,x); 100 * n_av(2)), !改变泵浦信号功率对能级2上激活粒子占比的影响 _sHeB7K yscale = 2, c|4_nT
2 step = 5, $A(3-n5= color = magenta, ~\%H0.P6 width = 3, .0|_J|{ "population of level 2 (%, rightscale)", kC'm |Y@T finish set_P_in(pump, P_pump_in) ~fO#En
Af^9WJ f: (set_P_in(pump,x); 100 * n_av(3)), !改变泵浦信号功率对能级3上激活粒子占比的影响 D9n+eZ yscale = 2, T8j<\0WW step = 5, 9s*UJIL color = red, YKx+z[A/p width = 3, >PGsY[N "population of level 3 (%, rightscale)", 0bGQO&s
[ finish set_P_in(pump, P_pump_in) 6$fwpW V0gu0+u~R UZgrSX { ; ------------- 1+tPd7U diagram 3: !输出图表3 *Ym+xu_5 #;"lBqxY` "Variation ofthe Fiber Length" r&XxF> X0KUnxw x: 0.1, 5 ;47 =x1ji "fiber length(m)", @x YIYuqtnSJ y: 0, 10 mNX0BZ "opticalpowers (W)", @y n|PW^kOE/ frame b_@bS<wsF} hx \9}-5
hy [,|4%Y EhN@;D+ f: (set_L(x);P_out(signal_fw)), !改变光纤长度对信号光输出功率的影响 ?Y9VviC step = 20, vNU[ K%U color = blue, &2W`dEv]? width = 3, h:vI:V[/X "signal output" ulk yP 2}ywNVS ;f: (set_L(x);P_out(pump)), !改变光纤长度对泵浦信号输出功率的影响 UD5f+,_; step = 20, color = red, width = 3,"residual pump" 6%T_;"hb a & 6-QVk ! set_L(L_f) {restore the original fiber length } jgw+c3^R_ H]Gj$P=k 'EkjySZ]F{ ; ------------- a#3,qp! diagram 4: !输出图表4 D\sh
+}" cty "TransverseProfiles" q4u-mM7#7 [wUJ~~2# I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) eZ(o _ ?/KkN3Y_j[ x: 0, 1.4 * r_co /um JZD&u6tB "radialposition (µm)", @x .r-kH&)"GU y: 0, 1.2 * I_max *cm^2 v<?k$ e5 "intensity (W/ cm²)", @y 'Ub\8<HfJU y2: 0, 1.3 * N_Tm B 5va4@ frame JRw)~Tg @ hx Ly6) ,[q~ hy &s&Ha{(!w BCr*GtR)W f: N_dop(1, x * um,0), !掺杂浓度的径向分布 <P
c;8[ yscale = 2, a3BlydSlf color = gray, L4Si0 K width = 3, <U""CAE maxconnect = 1, m pM,&7} "N_dop (right scale)" ~"vRH 6 ;}FZ f: I(pump, -1, x *um, 0) * cm^2, !泵浦光沿光纤径向的强度分布 U9q6m3#$ color = red, :D=y<n;S+ maxconnect = 1, !限制图形区域高度,修正为100%的高度 &4Y@-;REt width = 3, kL%o9=R1 "pump" Je~<2EsQ ==~
lc; f: I(signal_fw, -1,x * um, 0) * cm^2, !信号光沿光纤径向的强度分布 7p,!<X}% color = blue, `,FvYA" maxconnect = 1, rh(77x1|(G width = 3, D-\z'gS "signal" Iy{&T#e" 4m/L5W:K ro@`S: ; ------------- EeS VY diagram 5: !输出图表5 Jgf=yri j;i7.B"[ "TransitionCross-sections" ,"4 `T$CUlt6 I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) GvD{ I; Pb@9<N Xm' x: 1450, 2050 -8, lXrH "wavelength(nm)", @x ;=?KQq f y: 0, 0.6 [d,")Ng "cross-sections(1e-24 m²)", @y rfc;
frame =Ev*Q[ hx ADN hy ZG)%vB2c x-ShY&k f: s12_Tm(x * nm) /1e-24, !Tm3+吸收截面与波长的关系 +"2IQme5 color = red, 9WsGoZPn width = 3, Wq]Lb:& | |