| 小火龙果 |
2020-05-28 16:28 |
RP Fiber Power仿真设计掺铥光纤激光器代码详解
(* <<SUIY@X Demo for program"RP Fiber Power": thulium-doped fiber laser, `GpOS_; pumped at 790 nm. Across-relaxation process allows for efficient n)<S5P? population of theupper laser level. B=<Z@u *) !(* *)注释语句 HxAN&g*: |T;]%<O3E diagram shown: 1,2,3,4,5 !指定输出图表 !T|q/ri ; 1: "Powersvs. Position" !分号是注释;光纤长度对功率的影响 swTur ; 2:"Variation of the Pump Power" !泵浦光功率变化对信号输出功率的影响 o9XT_!Cwg ; 3:"Variation of the Fiber Length"!信号输出功率vs 光纤长度的变化,仿真最佳光纤长度 u3k{s ; 4:"Transverse Profiles" !横向分布,横坐标为半径位置 *+UgrsRk ; 5:"Transition Cross-sections" !不同波长的跃迁横截面,横坐标波长,纵坐标为横截面 ~+)sL1lx yKhN1kY include"Units.inc" !读取“Units.inc”文件中内容 nOQvBc >WZ_) `R include"Tm-silicate.inc" !读取光谱数据 (DnrJ.QU}t ]ZI ?U<0 ; Basic fiberparameters: !定义基本光纤参数 p"dK,A5#) L_f := 4 { fiberlength } !光纤长度 O{{\jn|lR No_z_steps := 50 {no steps along the fiber } !光纤步长,大括号{ }是注释,相当于备注 CG0jZB#u r_co := 6 um { coreradius } !纤芯半径 i]{-KZC N_Tm := 100e24 { Tmdoping concentration } !纤芯Tm离子掺杂浓度 9j8<Fs0M tb1w 6jaU ; Parameters of thechannels: !定义光信道 2mt
S\bAF l_p := 790 nm {pump wavelength } !泵浦光波长790nm }o d5kK; dir_p := forward {pump direction (forward or backward) } !前向泵浦 FhFP M)[ P_pump_in := 5 {input pump power } !输入泵浦功率5W DGJt$o=&@ w_p := 50 um {radius of pump cladding } !包层泵浦相应的半径 50um bm\Zp I_p(r) := (r <=w_p) { pump intensity profile } !泵浦光强度分布 ]n
'FD| loss_p := 0 {parasitic losses of pump wave } !泵浦光寄生损耗为0 +FBUB \:5M0 l_s := 1940 nm {signal wavelength } !信号光波长1940nm S2\|bs7;J, w_s := 7 um !信号光的半径 T!YfCw.HZ I_s(r) := exp(-2 *(r / w_s)^2) !信号光的高斯强度分布 YVW`|'7)| loss_s := 0 !信号光寄生损耗为0 &a9Y4~e:: 7i##g, R_oc := 0.70 {output coupler reflectivity (right side) } !输出耦合反射率 *=)kR7,]9d XIRvIwO ; Function for defining themodel: !定义模型函数,一定要有calc命令,否则函数只会被定义,但不会被执行 c?t,,\o(} calc mM;5UPbZ begin 5<77o| global allow all; !声明全局变量 sMDHg set_fiber(L_f, No_z_steps, ''); !光纤参数 *1b1phh0/ add_ring(r_co, N_Tm); 2_C&p6VGj def_ionsystem(); !光谱数据函数 #HyE-|_C pump := addinputchannel(P_pump_in, l_p,'I_p', loss_p, dir_p); !泵浦光信道 v2KK%Qy signal_fw := addinputchannel(0, l_s, 'I_s',loss_s, forward); !前向信号光信道 ZD#{h J- signal_bw := addinputchannel(0, l_s, 'I_s',loss_s, backward); !后向信号光信道 Ch0t' set_R(signal_fw, 1, R_oc); !设置反射率函数 !g2~|G finish_fiber(); B4RP~^ end; zy\R>4i'#Q ,b'QL6>` ; Display someoutputs in the Output window (on the right side): !在Output aera区域显示输出
) k6O show "Outputpowers:" !输出字符串Output powers: * R_mvJlT show"pump: ", P_out(pump):d3:"W" !输出字符串pump:和计算值(格式为3个有效数字,单位W) ~ \3j{pr show"signal: ",P_out(signal_fw):d3:"W" !输出字符串signal:和计算值(格式为3个有效数字,单位W) \wb0%>
0 }HLV'^"k E%e2$KfD ; ------------- 9~|hGo diagram 1: !输出图表1 uD8,E!\ EF5:$# "Powers vs.Position" !图表名称 bKac?y~S_ LQDU8[- x: 0, L_f !命令x: 定义x坐标范围 p;P
cD "position infiber (m)", @x !x轴标签;@x 指示这些字符串沿坐标轴放置 ykBq?Vr y: 0, 15 !命令y: 定义y坐标范围 lr~c w#h* y2: 0, 100 !命令y2: 定义第二个y坐标范围 ATkx_1]KM- frame !frame改变坐标系的设置 qGhwbg legpos 600, 500 !图行在图表窗口中的位置(相对于左上角而言) Br}0dha3E hx !平行于x方向网格 $guaUe[x hy !平行于y方向网格 i7|sVz= 0`~#H1TK f: P(pump, x), !命令f: 定义函数图;P(pump, x)函数是计算x位置处的泵浦光功率 .3:s4=(f color = red, !图形颜色 4&_|myO& width = 3, !width线条宽度 ?:c:D5N "pump" !相应的文本字符串标签 3c[< #]8S f: P(signal_fw, x), !P(signal_fw ,x) 函数是计算x位置处的前向信号光功率 p`T,VU&. color = blue, 8i Xt8XY3 width = 3, 2|:x_rcj "fw signal" %WO4uOi:@ f: P(signal_bw, x), !P(signal_bw ,x) 函数是计算x位置处的后向信号光功率 b6ui&Y8z color = blue, ~(Xzm style = fdashed, f6U
i~ width = 3, h%+6y "bw signal" WP ~]pduT %C=?Xhnv f: 100 * n(x, 2), !n(x ,2) 函数是计算x位置处激活粒子数在能级2上的占比 5"^Z7+6 yscale = 2, !第二个y轴的缩放比例 mY0FewwTy color = magenta, NKRI|'Y, width = 3, E0_S+`o2y style = fdashed, yl UkVr
"n2 (%, right scale)" &A)u!l Ue +GFK!Pf f: 100 * n(x, 3), !n(x ,3) 函数是计算x位置处激活粒子数在能级3上的占比 {-.ZFUZmT yscale = 2, f;cY&GC color = red, pGT?=/=* width = 3, ~F^7L5d}C style = fdashed, "S^""5 "n3 (%, right scale)" 6sz:rv} )Nkf'& A#x_>fV ; ------------- Qzq3{%^x_ diagram 2: !输出图表2 Q%.F Mf Cs?[
"Variation ofthe Pump Power" u[+/WFH _6Qb 3tl x: 0, 10 #J|DW C!#d "pump inputpower (W)", @x [z> Ya-uz7 y: 0, 10 0;SRmj@W y2: 0, 100 ~xakz BE frame WwAvR5jq hx LY1dEZ-)A hy apw/nhQ.[ legpos 150, 150 4elA<< r"_SL!,^ f: (set_P_in(pump, x);P_out(signal_fw)), !set_P_in(pump,x)改变泵浦信道功率;P_out(signal_fw)输出前向信号光 z!>ml3 step = 5, v|@1W Uc,g color = blue, #-9@*FFL, width = 3, 0.lOSAq "signal output power (W, leftscale)", !相应的文本字符串标签 U?&&yynK finish set_P_in(pump, P_pump_in) .V.ga2+ CaqqH`/E4 f: (set_P_in(pump,x); 100 * n_av(2)), !改变泵浦信号功率对能级2上激活粒子占比的影响 i;I!Jc_b' yscale = 2, LR Dj!{k{ step = 5, hB??~>i3 color = magenta, rLx'.: width = 3, 2{I+H'w8: "population of level 2 (%, rightscale)", .g52p+Z# finish set_P_in(pump, P_pump_in) o*Kl`3=] XO,gEn&6V f: (set_P_in(pump,x); 100 * n_av(3)), !改变泵浦信号功率对能级3上激活粒子占比的影响 @zi_@B yscale = 2, y vo4 .u step = 5, $Fik]TbQp color = red, ,*j@Zb_r width = 3, I_3{i`g "population of level 3 (%, rightscale)", 1rGi"kdf finish set_P_in(pump, P_pump_in) =x5k5NIF 6y
m 7/b.B} ; ------------- qY$]^gS diagram 3: !输出图表3 jrZH1dvE Zt"3g6S "Variation ofthe Fiber Length" 4">C0m;ks z,IUCNgM x: 0.1, 5 dO|n[/qL0 "fiber length(m)", @x W}rL HAaDh y: 0, 10 'q, L* "opticalpowers (W)", @y /`VrV{\/! frame c'&\[b(m hx K}TSwY hy {<L|Z=&k` Ae|bAyAK f: (set_L(x);P_out(signal_fw)), !改变光纤长度对信号光输出功率的影响 h7cE"m step = 20, -cL wjI color = blue, *!&,)'' width = 3, 8Q\ T,C "signal output" ZZJ<JdD }CB9H$FkCY ;f: (set_L(x);P_out(pump)), !改变光纤长度对泵浦信号输出功率的影响 =q?s B]n step = 20, color = red, width = 3,"residual pump" tde&w=ec r>Cv@4/j ! set_L(L_f) {restore the original fiber length } M:d }
P 26[m7\O 9M Ug/ ; ------------- Bl/Z _@ diagram 4: !输出图表4 MVOWJaT(Aq ^Q5advxuq "TransverseProfiles" $
nHf0.V1 WI\jm&H r I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) NZ:KJ8ea" 7O\ Qxc\ x: 0, 1.4 * r_co /um ~U<=SyZYo "radialposition (µm)", @x H rI(uZ] y: 0, 1.2 * I_max *cm^2 S- JD}+9 "intensity (W/ cm²)", @y 9/$Cq y2: 0, 1.3 * N_Tm Tjj-8cg frame H.#zbKj hx $3yn-'o'A hy 0q_?<v_1 {I]>!V0j! f: N_dop(1, x * um,0), !掺杂浓度的径向分布 0^mCj<g yscale = 2, NXSjN~aG2 color = gray, jWcfQ width = 3, y[d>7fcf maxconnect = 1, z\c$$+t "N_dop (right scale)" m)e~HP7M $64sf?aZ># f: I(pump, -1, x *um, 0) * cm^2, !泵浦光沿光纤径向的强度分布 OSIf>1 color = red, \.Z
/ maxconnect = 1, !限制图形区域高度,修正为100%的高度 xy+hrbD)j width = 3, 't'2z "pump" K-4o_:F p"d_+ f: I(signal_fw, -1,x * um, 0) * cm^2, !信号光沿光纤径向的强度分布 oN&U@N/>aU color = blue, Hd?#^X maxconnect = 1, U)] }EgpF width = 3, UaXWHCm` "signal" :YM1p&|fS V* H7m'za g![?P"i^t ; ------------- 5m9;'SF diagram 5: !输出图表5 ~vB dq Yj iG+=whvL "TransitionCross-sections" 2}U:6w 8om)A0S I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) V~]&1 oL
-udH x: 1450, 2050 * \%b1 "wavelength(nm)", @x }$@ EpM y: 0, 0.6 A75z/O{ "cross-sections(1e-24 m²)", @y e~PAi8B5 frame A O3MlK9t hx $aDkZj hy 8B7~Nq' UNyk,
#4 f: s12_Tm(x * nm) /1e-24, !Tm3+吸收截面与波长的关系 'pC51}[A{^ color = red, |SuN3B4e width = 3, <Y+>a#T "absorption" #r'S@:[ f: s21_Tm(x * nm) /1e-24, !Tm3+发射截面与波长的关系 BjV;/<bt color = blue, G!E1N(%o width = 3, AQTV1f_ "emission" Y3bZ&G) %OJq( }
|
|