小火龙果 |
2020-05-28 16:28 |
RP Fiber Power仿真设计掺铥光纤激光器代码详解
(* uZjC
c M Demo for program"RP Fiber Power": thulium-doped fiber laser, 30j|D3- pumped at 790 nm. Across-relaxation process allows for efficient i'/m4 !>h population of theupper laser level.
#;KsJb)N. *) !(* *)注释语句 W&Y"K)` {tP%epQ diagram shown: 1,2,3,4,5 !指定输出图表 ?9+@+q ; 1: "Powersvs. Position" !分号是注释;光纤长度对功率的影响 E>jh"|f:{ ; 2:"Variation of the Pump Power" !泵浦光功率变化对信号输出功率的影响 32)tJ|m ; 3:"Variation of the Fiber Length"!信号输出功率vs 光纤长度的变化,仿真最佳光纤长度 = "ts`> ; 4:"Transverse Profiles" !横向分布,横坐标为半径位置 q>!L6h5]t ; 5:"Transition Cross-sections" !不同波长的跃迁横截面,横坐标波长,纵坐标为横截面 .d<W`%[ r),PtI0X include"Units.inc" !读取“Units.inc”文件中内容 }ut]\]b 7*o*6,/ include"Tm-silicate.inc" !读取光谱数据 pL1i|O
: esg( ; Basic fiberparameters: !定义基本光纤参数 [tT8_}v$LN L_f := 4 { fiberlength } !光纤长度 RBKOM$7 No_z_steps := 50 {no steps along the fiber } !光纤步长,大括号{ }是注释,相当于备注 Ka!I`Yf r_co := 6 um { coreradius } !纤芯半径
-T@`hk` N_Tm := 100e24 { Tmdoping concentration } !纤芯Tm离子掺杂浓度 S^I,Iz+`S' Nh?|RE0t ; Parameters of thechannels: !定义光信道 uYI@9U l_p := 790 nm {pump wavelength } !泵浦光波长790nm )Q;978: dir_p := forward {pump direction (forward or backward) } !前向泵浦 PG%0yv% P_pump_in := 5 {input pump power } !输入泵浦功率5W w0m^ &,;# w_p := 50 um {radius of pump cladding } !包层泵浦相应的半径 50um ed 59B)?l I_p(r) := (r <=w_p) { pump intensity profile } !泵浦光强度分布 DPgm%Xq9(! loss_p := 0 {parasitic losses of pump wave } !泵浦光寄生损耗为0 )}v3q6?_ -;(Q1)& l_s := 1940 nm {signal wavelength } !信号光波长1940nm e0,'+;*=g w_s := 7 um !信号光的半径 ,Z9>h[JF I_s(r) := exp(-2 *(r / w_s)^2) !信号光的高斯强度分布 j1$8#/r;c loss_s := 0 !信号光寄生损耗为0 7u.|XmUz ;E;To\NCYF R_oc := 0.70 {output coupler reflectivity (right side) } !输出耦合反射率 ]w).8=I zSTR^sgJ ; Function for defining themodel: !定义模型函数,一定要有calc命令,否则函数只会被定义,但不会被执行 Pf_F59" calc `bI)<B begin Lz9#A. global allow all; !声明全局变量 l*aj#%ha set_fiber(L_f, No_z_steps, ''); !光纤参数 Z [Xa%~5>5 add_ring(r_co, N_Tm); +YY8h>hj def_ionsystem(); !光谱数据函数 cc=gCE pump := addinputchannel(P_pump_in, l_p,'I_p', loss_p, dir_p); !泵浦光信道 "bQ[CD signal_fw := addinputchannel(0, l_s, 'I_s',loss_s, forward); !前向信号光信道 klOp ^w signal_bw := addinputchannel(0, l_s, 'I_s',loss_s, backward); !后向信号光信道 CBT>"sYE1 set_R(signal_fw, 1, R_oc); !设置反射率函数 km5~Gc} finish_fiber(); %y[1H5)3< end; NUJ~YWO; $& ~;@*[ ; Display someoutputs in the Output window (on the right side): !在Output aera区域显示输出 r{Rg920 show "Outputpowers:" !输出字符串Output powers: )emOKS show"pump: ", P_out(pump):d3:"W" !输出字符串pump:和计算值(格式为3个有效数字,单位W) t q50fq' show"signal: ",P_out(signal_fw):d3:"W" !输出字符串signal:和计算值(格式为3个有效数字,单位W) 4'pS*v W`rNBfG> [dX`K`k ; ------------- *4Fr&^M\ diagram 1: !输出图表1 mABe'"8 l]!9$ "Powers vs.Position" !图表名称 F N[R(SLbL -<_$m6x"A x: 0, L_f !命令x: 定义x坐标范围 N^0uit "position infiber (m)", @x !x轴标签;@x 指示这些字符串沿坐标轴放置 ~i;fDQ&! y: 0, 15 !命令y: 定义y坐标范围 Gi6T[" y2: 0, 100 !命令y2: 定义第二个y坐标范围 J'mDU frame !frame改变坐标系的设置 .0HZNWRtb legpos 600, 500 !图行在图表窗口中的位置(相对于左上角而言) h~Q)Uy5N(D hx !平行于x方向网格 {U!St@ hy !平行于y方向网格 \$*$='6" KLQTKMNv f: P(pump, x), !命令f: 定义函数图;P(pump, x)函数是计算x位置处的泵浦光功率 *!e(A ]& color = red, !图形颜色 )U<Y0bZA! width = 3, !width线条宽度 &F$:Q:* * "pump" !相应的文本字符串标签 X~.f7Ao[ f: P(signal_fw, x), !P(signal_fw ,x) 函数是计算x位置处的前向信号光功率 :VmHfOO color = blue, 8[%Ao/m width = 3, ;!@EixN-YH "fw signal" #%3rTU f: P(signal_bw, x), !P(signal_bw ,x) 函数是计算x位置处的后向信号光功率 -ZOBAG* color = blue, hv$yV%.` style = fdashed, 4A`NJ width = 3, H(^bC5' "bw signal" \[2lvft! wmr-}Y!9u% f: 100 * n(x, 2), !n(x ,2) 函数是计算x位置处激活粒子数在能级2上的占比 *~$~yM/~3U yscale = 2, !第二个y轴的缩放比例 @+,pN6}g color = magenta, SU _SU". width = 3, w2(guL($ style = fdashed, ^,Ydr~|T "n2 (%, right scale)" .4.pJbOg cF T 9Lnz f: 100 * n(x, 3), !n(x ,3) 函数是计算x位置处激活粒子数在能级3上的占比 lt'I,Xt yscale = 2, cFd
>oDS color = red, oSb, :^Wl width = 3, L?&'xzt B style = fdashed, XkKC! "n3 (%, right scale)" _#$9 y1bd {[Q0qi = hmbj*8 ; ------------- \6|/RFT diagram 2: !输出图表2 M<?Q4a'Q ;+ "f "Variation ofthe Pump Power" woH)0v 5wt TP ;P x: 0, 10 5m$2Ku "pump inputpower (W)", @x v*hRz; y: 0, 10 {2'm^0Kl y2: 0, 100 Wa/g`} frame DR9: _ hx =V+I=rqo hy /BKe+]dS* legpos 150, 150 ("7M
b{ _,h@:Xij f: (set_P_in(pump, x);P_out(signal_fw)), !set_P_in(pump,x)改变泵浦信道功率;P_out(signal_fw)输出前向信号光 <S"~vKD' step = 5, mo]KCi color = blue, "7%:sty width = 3, JeH;v0 "signal output power (W, leftscale)", !相应的文本字符串标签 vy@rQC %9 finish set_P_in(pump, P_pump_in) v"u^M-_ ?^HfNp9 f: (set_P_in(pump,x); 100 * n_av(2)), !改变泵浦信号功率对能级2上激活粒子占比的影响 nCg66-3A yscale = 2, XdgUqQb} step = 5, lw%?z/HDf color = magenta, [}mA`5 width = 3, "GT4s?6O "population of level 2 (%, rightscale)", 9e!NOl\_;. finish set_P_in(pump, P_pump_in) =x#FbvV )+I.|5g f: (set_P_in(pump,x); 100 * n_av(3)), !改变泵浦信号功率对能级3上激活粒子占比的影响 46jh-4)< yscale = 2, n
?[/ufl step = 5, -XoP ia2 color = red, }SyxPXs width = 3, Die-@z|Y "population of level 3 (%, rightscale)", W><Zn=G4)b finish set_P_in(pump, P_pump_in) w [>;a.$ qgt[ ~i* JD>d\z2QC ; ------------- ,n,RFa diagram 3: !输出图表3 |8_JY2
R Cz#Z <: "Variation ofthe Fiber Length" %9C@ Xl ;d.K_P x: 0.1, 5 !X>=l "fiber length(m)", @x 4\t1mocCSN y: 0, 10 9D\4n "opticalpowers (W)", @y AT
Zhr.
H frame co 4h*?q hx vEM(bT=H hy wJb#g0 ewNz%_2 f: (set_L(x);P_out(signal_fw)), !改变光纤长度对信号光输出功率的影响 bte~c step = 20, .@ C{3$,VG color = blue, zZ-wG width = 3, +KGZHO! "signal output" .k{ j]{k Yx'res4e ;f: (set_L(x);P_out(pump)), !改变光纤长度对泵浦信号输出功率的影响 8$N8}q% step = 20, color = red, width = 3,"residual pump" z(uZF3 O^>jdl!TZ ! set_L(L_f) {restore the original fiber length } wle@vCmr Gnm4gF!BI WnFG{S{s ; ------------- $S*4r&8ZD diagram 4: !输出图表4 K[\'"HyQ,X :m=m}3/: "TransverseProfiles" W)j|rz. `pZs T
^G[ I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) $5`!Z%>/ V+-$jOh x: 0, 1.4 * r_co /um j Ib "radialposition (µm)", @x {MAQ/5 y: 0, 1.2 * I_max *cm^2 Vpfp}pL "intensity (W/ cm²)", @y EY`H}S!xy y2: 0, 1.3 * N_Tm 9ILIEm: frame :^ i9] hx O[17";P hy ~d{.ng 4K :R6bq! f: N_dop(1, x * um,0), !掺杂浓度的径向分布 SDG-~(Y yscale = 2, ?8dVH2W. color = gray, fqz28aHh width = 3, ub0zJTFJ# maxconnect = 1, Mkp/0|Q* "N_dop (right scale)" +,+vkpL-% %HQ.| f: I(pump, -1, x *um, 0) * cm^2, !泵浦光沿光纤径向的强度分布 ;T]d MfO color = red, _fFU#k:MU maxconnect = 1, !限制图形区域高度,修正为100%的高度 z><5R|Gf width = 3, b/$km?R "pump" X C86-b)E $VG*q f: I(signal_fw, -1,x * um, 0) * cm^2, !信号光沿光纤径向的强度分布 |XYEn7^r color = blue, y #f
QPR maxconnect = 1, =M 6[URZ width = 3, Z!d7&T} "signal" D8{D[fJ; q:>^ "P{ 5 /",<1 ; ------------- 9DQ)cy diagram 5: !输出图表5 Op.8a`XLt& D\~zS`} "TransitionCross-sections" c97{Pu uxn)R#? I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) )'4P.>!!aQ %OR|^M x: 1450, 2050 ;?fS(Vz~ "wavelength(nm)", @x uy _wp^ y: 0, 0.6 seFGJfN\?f "cross-sections(1e-24 m²)", @y &hHW3Q(1 frame {3a&1'a0g hx 3gWvmep1 hy ,ea^,H6 iq#b#PYA f: s12_Tm(x * nm) /1e-24, !Tm3+吸收截面与波长的关系 sRVIH A, color = red, R;whW:Tx width = 3, BC>=B@H0 "absorption" |rw%FM{F f: s21_Tm(x * nm) /1e-24, !Tm3+发射截面与波长的关系 iO/XhSD color = blue, gbOpj3 width = 3, V~DMtB7 "emission" ^Jp&H\gI. V!%jf:k
|
|