| 小火龙果 |
2020-05-28 16:28 |
RP Fiber Power仿真设计掺铥光纤激光器代码详解
(* v|C)Q %v Demo for program"RP Fiber Power": thulium-doped fiber laser, -yHVydu= pumped at 790 nm. Across-relaxation process allows for efficient D *R F._ population of theupper laser level. dVmI.A'nbp *) !(* *)注释语句 Ml1yk)3G 55)!cw4 diagram shown: 1,2,3,4,5 !指定输出图表 Va/LMw ; 1: "Powersvs. Position" !分号是注释;光纤长度对功率的影响 Qctm"g| ; 2:"Variation of the Pump Power" !泵浦光功率变化对信号输出功率的影响 n|dLK.Q ; 3:"Variation of the Fiber Length"!信号输出功率vs 光纤长度的变化,仿真最佳光纤长度 M)C.bo{p ; 4:"Transverse Profiles" !横向分布,横坐标为半径位置 fo9O+e s ; 5:"Transition Cross-sections" !不同波长的跃迁横截面,横坐标波长,纵坐标为横截面 Xm`jD'G O?/\hZ"&c include"Units.inc" !读取“Units.inc”文件中内容 c+c3C8s*8 -(V]knIF include"Tm-silicate.inc" !读取光谱数据 -} \g[| w-*$gk] ; Basic fiberparameters: !定义基本光纤参数 9oKRnc L_f := 4 { fiberlength } !光纤长度 D ksSD No_z_steps := 50 {no steps along the fiber } !光纤步长,大括号{ }是注释,相当于备注 _IBIx\F r_co := 6 um { coreradius } !纤芯半径 6 "U&i9 N_Tm := 100e24 { Tmdoping concentration } !纤芯Tm离子掺杂浓度 TkXD#%nFY lp3 A B ; Parameters of thechannels: !定义光信道 R
h zf.kp l_p := 790 nm {pump wavelength } !泵浦光波长790nm !7"-9n dir_p := forward {pump direction (forward or backward) } !前向泵浦 H6X]D"Y, P_pump_in := 5 {input pump power } !输入泵浦功率5W I9O!CQCTt w_p := 50 um {radius of pump cladding } !包层泵浦相应的半径 50um ac%%*HN, I_p(r) := (r <=w_p) { pump intensity profile } !泵浦光强度分布 [ R1S+i loss_p := 0 {parasitic losses of pump wave } !泵浦光寄生损耗为0 -Zc
6_]F| iD+Q\l;% l_s := 1940 nm {signal wavelength } !信号光波长1940nm E,&BP$B w_s := 7 um !信号光的半径 0(\ybppx I_s(r) := exp(-2 *(r / w_s)^2) !信号光的高斯强度分布 UhQ [|c loss_s := 0 !信号光寄生损耗为0 "W$,dWF (yIl]ZN* R_oc := 0.70 {output coupler reflectivity (right side) } !输出耦合反射率 sJo]$/?F 4^vEMq8lB ; Function for defining themodel: !定义模型函数,一定要有calc命令,否则函数只会被定义,但不会被执行 (oO*|\9u calc U\'.rT[# begin H'|b$rP0@ global allow all; !声明全局变量 M>^Ho2 set_fiber(L_f, No_z_steps, ''); !光纤参数 Q= IA|rN add_ring(r_co, N_Tm); aTF~rAne< def_ionsystem(); !光谱数据函数 LDqq'}qK6 pump := addinputchannel(P_pump_in, l_p,'I_p', loss_p, dir_p); !泵浦光信道 @9~a3k| signal_fw := addinputchannel(0, l_s, 'I_s',loss_s, forward); !前向信号光信道 .^j 6 signal_bw := addinputchannel(0, l_s, 'I_s',loss_s, backward); !后向信号光信道 ]ZKmf}A)1P set_R(signal_fw, 1, R_oc); !设置反射率函数 ,DsqKXSU finish_fiber(); g((glr)6M end; CnyCEIO- ]Tk3@jw+b ; Display someoutputs in the Output window (on the right side): !在Output aera区域显示输出 O Z<iP show "Outputpowers:" !输出字符串Output powers: Ex2TV7I show"pump: ", P_out(pump):d3:"W" !输出字符串pump:和计算值(格式为3个有效数字,单位W) , tJ%t# show"signal: ",P_out(signal_fw):d3:"W" !输出字符串signal:和计算值(格式为3个有效数字,单位W) 5W_u|z+/g "\M16N 8?#4<4Ql8 ; ------------- Q`k=VSUk diagram 1: !输出图表1 ov&4&v VL=. JwK "Powers vs.Position" !图表名称 _1jd{?kt B@g 0QgA x: 0, L_f !命令x: 定义x坐标范围 6Yhd [I3 "position infiber (m)", @x !x轴标签;@x 指示这些字符串沿坐标轴放置 Si#I^aF`%
y: 0, 15 !命令y: 定义y坐标范围 /.{4
KW5 y2: 0, 100 !命令y2: 定义第二个y坐标范围 1Q1NircJ frame !frame改变坐标系的设置 dU%Q=r8R legpos 600, 500 !图行在图表窗口中的位置(相对于左上角而言) .w=( G hx !平行于x方向网格 j}R!'m(P' hy !平行于y方向网格 1vKc>+9 ;mH O# f: P(pump, x), !命令f: 定义函数图;P(pump, x)函数是计算x位置处的泵浦光功率 tUouO0_l color = red, !图形颜色 *6D0>F width = 3, !width线条宽度 J60XUxf "pump" !相应的文本字符串标签 !]AM#LJ f: P(signal_fw, x), !P(signal_fw ,x) 函数是计算x位置处的前向信号光功率 7x`dEi< color = blue, xL8r'gV@ width = 3, 2z9\p%MX "fw signal"
s;V~dxAiv f: P(signal_bw, x), !P(signal_bw ,x) 函数是计算x位置处的后向信号光功率 h8@8Qw color = blue, Sq^f}q style = fdashed, .?{rd3[ec width = 3, y)iT-$bQ "bw signal" I\djZG$s;N 9qc<m'MZ f: 100 * n(x, 2), !n(x ,2) 函数是计算x位置处激活粒子数在能级2上的占比 a+A^njk yscale = 2, !第二个y轴的缩放比例 YjaEKM8* color = magenta, [>+R|;ln width = 3, gB/4ro8 style = fdashed, /@Qg'Q# "n2 (%, right scale)" On
x[}x umPd+5i f: 100 * n(x, 3), !n(x ,3) 函数是计算x位置处激活粒子数在能级3上的占比 a@(4X/| yscale = 2, O[ tD7!1 color = red, X"_,#3Ko! width = 3, _BGw)Z 6 style = fdashed, Co[fq3iX# "n3 (%, right scale)" | R MIV 2R9AYI J2A+x\{< ; ------------- {
FVLH:{U^ diagram 2: !输出图表2 mS?.xu g '2'K "Variation ofthe Pump Power" ~)>O=nR K_/-mwA v x: 0, 10 vv='.R, D "pump inputpower (W)", @x ?,GCR1|4 y: 0, 10 hP1}Do y2: 0, 100 ~*:{U frame 7{<:g! hx [:M:6JJ hy +ob<?
T legpos 150, 150 0*!CJ;%N kLc}a5; f: (set_P_in(pump, x);P_out(signal_fw)), !set_P_in(pump,x)改变泵浦信道功率;P_out(signal_fw)输出前向信号光 OZ{YQ}t{^1 step = 5, JjBG9Rp{ color = blue, <dzfD; width = 3, B~S"1EE[ "signal output power (W, leftscale)", !相应的文本字符串标签 )qXl8H I finish set_P_in(pump, P_pump_in) @tv3\eD +um
Ua f: (set_P_in(pump,x); 100 * n_av(2)), !改变泵浦信号功率对能级2上激活粒子占比的影响 >q W_% yscale = 2, Md!L@gX6< step = 5, 5:3%RTLG color = magenta, <{$0mUn;s| width = 3, tJ:]ne "population of level 2 (%, rightscale)", )6K Q"* finish set_P_in(pump, P_pump_in) J\7ukm"9 fP|rD[ f: (set_P_in(pump,x); 100 * n_av(3)), !改变泵浦信号功率对能级3上激活粒子占比的影响 &8kc0Z@y yscale = 2, y"N7r1Pf step = 5, QGv$ ~A[h color = red, TVaD',5_V% width = 3, 66A}5b4)] "population of level 3 (%, rightscale)", rByC6HV" finish set_P_in(pump, P_pump_in) #jY\l&E 8:W,"" *g0} pD;r ; ------------- g&z)y diagram 3: !输出图表3 Xz/5Wis4 Xr?(w(3 "Variation ofthe Fiber Length" OnD!*jy $e(]L(o; x: 0.1, 5 <d2?A}< "fiber length(m)", @x %BdQ.\4DS y: 0, 10 m
2tw[6M "opticalpowers (W)", @y q> ;u'3} frame n-HQk7=mQ hx E
cS+/ hy j$2rU' <n8K"(sy} f: (set_L(x);P_out(signal_fw)), !改变光纤长度对信号光输出功率的影响 >[,ywRJ#_} step = 20, qG=?+em color = blue, {VBn@^'s width = 3, N)F&c!anh "signal output" 1|]IWX| ,tt
.oF|
;f: (set_L(x);P_out(pump)), !改变光纤长度对泵浦信号输出功率的影响 {2|[7oNT6 step = 20, color = red, width = 3,"residual pump" k,)xv? <K^{36h ! set_L(L_f) {restore the original fiber length } B8XW+U D'{NEk@ s^atBqw, ; ------------- IJWUNKqo= diagram 4: !输出图表4 +XaRwcLC. Se0!-NUK0 "TransverseProfiles" [C8lMEV~ #3b_#+, I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0))
1z . *=sMJY9#jE x: 0, 1.4 * r_co /um }01c7/DRP< "radialposition (µm)", @x I:~KF/q y: 0, 1.2 * I_max *cm^2 cRR[ci34k "intensity (W/ cm²)", @y SJseP_- y2: 0, 1.3 * N_Tm *En29N#a{ frame W6e,S[J^FY hx \&{a/e2:S hy fGeDygV^` (-<s[VnXP f: N_dop(1, x * um,0), !掺杂浓度的径向分布 Q9i&]V[` yscale = 2, k-:wM`C color = gray, 3MmpB9l#H width = 3, _H,xnh#nZ maxconnect = 1, S.<aCN<@ "N_dop (right scale)" )bd)noZi 3/aK#TjK f: I(pump, -1, x *um, 0) * cm^2, !泵浦光沿光纤径向的强度分布 mJ_5Vt= color = red, QLs9W&PG maxconnect = 1, !限制图形区域高度,修正为100%的高度 bvay7 width = 3, cEdf&*_-'I "pump" Po)!vL"
mp!S<m f: I(signal_fw, -1,x * um, 0) * cm^2, !信号光沿光纤径向的强度分布 S'%|40U color = blue, |41NRGgY maxconnect = 1, 0[# zn width = 3, 4# L}& "signal" D]?eRO9' Gu#Vc.e jkQ%b.a ; ------------- .83{NF diagram 5: !输出图表5 Jbv[Ql# `{Jo>L. "TransitionCross-sections" <UEta>jj \80W?9qj I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) ~E8L,h~ #`HY"-7m_ x: 1450, 2050 /e:kBjysJ "wavelength(nm)", @x 5LF &C0v y: 0, 0.6 18HmS>Qo "cross-sections(1e-24 m²)", @y QX`T-)T e frame r6b;v2!8 hx Uhw:XV@m hy ^t$xR_ 8PB 8h f: s12_Tm(x * nm) /1e-24, !Tm3+吸收截面与波长的关系 2Y7u M;8 color = red, t=;P1d?E; width = 3, >p`ZcFNs" "absorption" yrF"`/zv6| f: s21_Tm(x * nm) /1e-24, !Tm3+发射截面与波长的关系
TwI'}J|w color = blue, = pCO1<wR width = 3, ^[6S]Ft( "emission" iW9o-W
a (-[73v-w
|
|