切换到宽版
  • 广告投放
  • 稿件投递
  • 繁體中文
    • 2427阅读
    • 1回复

    [原创]RP Fiber Power仿真设计掺铥光纤激光器代码详解 [复制链接]

    上一主题 下一主题
    离线小火龙果
     
    发帖
    932
    光币
    2176
    光券
    0
    只看楼主 倒序阅读 楼主  发表于: 2020-05-28
    (* gRqz8UI  
    Demo for program"RP Fiber Power": thulium-doped fiber laser, EEo+#  
    pumped at 790 nm. Across-relaxation process allows for efficient cEQa 6  
    population of theupper laser level. VmT5? i  
    *)            !(*  *)注释语句 pF !vW  
    x)U;  
    diagram shown: 1,2,3,4,5  !指定输出图表 '+QgZ>q"  
    ; 1: "Powersvs. Position"     !分号是注释;光纤长度对功率的影响 v*^2[pf  
    ; 2:"Variation of the Pump Power"  !泵浦光功率变化对信号输出功率的影响 L"-&B$B:  
    ; 3:"Variation of the Fiber Length"!信号输出功率vs 光纤长度的变化,仿真最佳光纤长度 ut,"[+ J  
    ; 4:"Transverse Profiles"             !横向分布,横坐标为半径位置 U92hv~\  
    ; 5:"Transition Cross-sections"    !不同波长的跃迁横截面,横坐标波长,纵坐标为横截面 v4.V%tg!  
    QA9vH'  
    include"Units.inc"         !读取“Units.inc”文件中内容 ;yXnPAtJ  
    ^}[ N4  
    include"Tm-silicate.inc"    !读取光谱数据 ixH7oWH#  
    nagto^5X  
    ; Basic fiberparameters:    !定义基本光纤参数 p}!pT/KmpH  
    L_f := 4 { fiberlength }      !光纤长度 ?-Z:N`YP  
    No_z_steps := 50 {no steps along the fiber } !光纤步长,大括号{ }是注释,相当于备注 [}Iq-sz;0  
    r_co := 6 um { coreradius }                !纤芯半径 |V7a26h  
    N_Tm := 100e24 { Tmdoping concentration }  !纤芯Tm离子掺杂浓度 ~VGK#'X:  
    sI'HS+~pU  
    ; Parameters of thechannels:                !定义光信道 puyL(ohem  
    l_p := 790 nm {pump wavelength }                !泵浦光波长790nm lyeoSd1AN  
    dir_p := forward {pump direction (forward or backward) }   !前向泵浦 K;ML'  
    P_pump_in := 5 {input pump power }                    !输入泵浦功率5W lpM{@JC  
    w_p := 50 um {radius of pump cladding }               !包层泵浦相应的半径 50um u'b_zlW@  
    I_p(r) := (r <=w_p) { pump intensity profile }          !泵浦光强度分布 ;(,Fe/wvC  
    loss_p := 0 {parasitic losses of pump wave }           !泵浦光寄生损耗为0 gc:>HX );)  
    qs b4@jt+  
    l_s := 1940 nm {signal wavelength }                   !信号光波长1940nm _L72Ae(_  
    w_s := 7 um                          !信号光的半径 \* #4  
    I_s(r) := exp(-2 *(r / w_s)^2)            !信号光的高斯强度分布 =>J#_Pprn  
    loss_s := 0                            !信号光寄生损耗为0 )5v .9N 6v  
    Qw-qcG  
    R_oc := 0.70 {output coupler reflectivity (right side) }      !输出耦合反射率 s#fmGe"8  
    f$'D2o, O  
    ; Function for defining themodel:   !定义模型函数,一定要有calc命令,否则函数只会被定义,但不会被执行 ?yb{DZ46  
    calc :F\f}G3  
      begin OY#_0p)i  
        global allow all;                   !声明全局变量 m>!#}EJ|  
        set_fiber(L_f, No_z_steps, '');        !光纤参数 Q!{Dw :7  
        add_ring(r_co, N_Tm); I$LO0avvH2  
        def_ionsystem();              !光谱数据函数 !;a<E:  
        pump := addinputchannel(P_pump_in, l_p,'I_p', loss_p, dir_p);  !泵浦光信道 ATHz~a  
        signal_fw := addinputchannel(0, l_s, 'I_s',loss_s, forward);      !前向信号光信道 J"MJVMo$T  
        signal_bw := addinputchannel(0, l_s, 'I_s',loss_s, backward);    !后向信号光信道 @ $R a  
        set_R(signal_fw, 1, R_oc);                                 !设置反射率函数 [ub\DLl  
        finish_fiber();                                   3"n8B6  
      end; jg8P4s  
    M2S|$6t:  
    ; Display someoutputs in the Output window (on the right side): !在Output aera区域显示输出 I2T2'_I  
    show "Outputpowers:"                                   !输出字符串Output powers: UXJl;M b  
    show"pump:     ", P_out(pump):d3:"W"  !输出字符串pump:和计算值(格式为3个有效数字,单位W) wp*1HnWj8Y  
    show"signal:   ",P_out(signal_fw):d3:"W" !输出字符串signal:和计算值(格式为3个有效数字,单位W) YLo$n  
    }b(e  
    #w@Pa L iS  
    ; ------------- J;`~ !g  
    diagram 1:                   !输出图表1 (I.`bR  
    xW4+)F5P(  
    "Powers vs.Position"          !图表名称 e8 aV qq[  
    "tARJW  
    x: 0, L_f                      !命令x: 定义x坐标范围 cF vx* n  
    "position infiber (m)", @x      !x轴标签;@x 指示这些字符串沿坐标轴放置 WU\bJ}  
    y: 0, 15                      !命令y: 定义y坐标范围 z;fSd  
    y2: 0, 100                    !命令y2: 定义第二个y坐标范围 *% *^a\2  
    frame          !frame改变坐标系的设置 /f<(K-o]  
    legpos 600, 500  !图行在图表窗口中的位置(相对于左上角而言) WRyLpTr-  
    hx             !平行于x方向网格 B vc=gW  
    hy              !平行于y方向网格 bn35f<+  
    X%CPz.G  
    f: P(pump, x),    !命令f: 定义函数图;P(pump, x)函数是计算x位置处的泵浦光功率 2A|6o*s"  
      color = red,  !图形颜色 v!xrUyN~m  
      width = 3,   !width线条宽度 w#,v n8  
      "pump"       !相应的文本字符串标签 a6E"  
    f: P(signal_fw, x),  !P(signal_fw ,x) 函数是计算x位置处的前向信号光功率 GcCs}(eo  
      color = blue,     G |^X:+  
      width = 3, I "2FTGA  
      "fw signal" w"iZn  
    f: P(signal_bw, x),   !P(signal_bw ,x) 函数是计算x位置处的后向信号光功率 4?& a?*M  
      color = blue, R <\Yg3m8  
      style = fdashed, ooSd6;'  
      width = 3, AHY)#|/)  
      "bw signal" E|  
    Q{hOn]"  
    f: 100 * n(x, 2),    !n(x ,2) 函数是计算x位置处激活粒子数在能级2上的占比 ="R6YL  
      yscale = 2,            !第二个y轴的缩放比例 pH%c7X/[3L  
      color = magenta, qu+2..3  
      width = 3, -%l, Zd9  
      style = fdashed, :q<%wLs  
      "n2 (%, right scale)" 2kq@*}ys  
    E(_I3mftm  
    f: 100 * n(x, 3),          !n(x ,3) 函数是计算x位置处激活粒子数在能级3上的占比 qXGLv4c`Q  
      yscale = 2, y03a\K5[KQ  
      color = red, F@bCm+z-  
      width = 3, ~HRWKPb  
      style = fdashed, j]O[I^5  
      "n3 (%, right scale)" #%"TU,[+  
    EsB'nf r  
    N-YZ0/c  
    ; ------------- g GT,PP(k  
    diagram 2:                    !输出图表2 no6]{qn=6  
    G3^]Wwu  
    "Variation ofthe Pump Power" mm<iT59  
    4(GgaQFO?  
    x: 0, 10 Q8cPKDB  
    "pump inputpower (W)", @x an[~%vxw}  
    y: 0, 10 72vGfT2HtZ  
    y2: 0, 100 1|w:xG^  
    frame 'OW"*b  
    hx 4$GRCq5N;  
    hy 6_K#,_oZ  
    legpos 150, 150 @b\_696.  
    E(+wl  
    f: (set_P_in(pump, x);P_out(signal_fw)), !set_P_in(pump,x)改变泵浦信道功率;P_out(signal_fw)输出前向信号光 N: jiZ)  
      step = 5, .r%|RWs6W  
      color = blue, >1pH 91c'  
      width = 3, oe|<xWu  
      "signal output power (W, leftscale)",     !相应的文本字符串标签 x0$:"68PW  
      finish set_P_in(pump, P_pump_in) i=H>D  
    Le:mMd= G  
    f: (set_P_in(pump,x); 100 * n_av(2)),   !改变泵浦信号功率对能级2上激活粒子占比的影响 7h&`BS  
      yscale = 2, '=G Ce%A  
      step = 5, gJ8 c]2c  
      color = magenta, LNxE-Dp  
      width = 3, :fKz^@mY4  
      "population of level 2 (%, rightscale)", h]DE Cd{  
      finish set_P_in(pump, P_pump_in) #]a51Vss  
    B%:9P  
    f: (set_P_in(pump,x); 100 * n_av(3)),   !改变泵浦信号功率对能级3上激活粒子占比的影响 aC Lg~g4  
      yscale = 2, jTUf4&b-  
      step = 5, "M0l;  
      color = red, #L= eK8^e  
      width = 3, KM(9& 1/  
      "population of level 3 (%, rightscale)", 9.OwH(Ax7  
      finish set_P_in(pump, P_pump_in) z/&a\`DsU  
    "mK i$FV  
    R{KIkv  
    ; ------------- nC.2./OwMf  
    diagram 3:                         !输出图表3 +y4AUU:Q  
    ! }?jCpp  
    "Variation ofthe Fiber Length" {r2|fgi  
    JrWBcp:Y  
    x: 0.1, 5 c ^bk:=uj  
    "fiber length(m)", @x 5~%,u2  
    y: 0, 10 {AL9o2  
    "opticalpowers (W)", @y XL/o y'_  
    frame =<zSF\Zr_  
    hx P(gVF |J?  
    hy U;Ll.BFP  
    V52C,]qQH  
    f: (set_L(x);P_out(signal_fw)),     !改变光纤长度对信号光输出功率的影响 V]kGcS}  
      step = 20,             eQax ZMU  
      color = blue, sqpOS!]  
      width = 3, PWN'.HQ  
      "signal output" CL'Xip')T  
    m_Ac/ct f  
    ;f: (set_L(x);P_out(pump)),                     !改变光纤长度对泵浦信号输出功率的影响 5 -WRv;  
       step = 20, color = red, width = 3,"residual pump" m":SE?{{&  
    .i&ZT}v3  
    ! set_L(L_f) {restore the original fiber length } T'b/]&0Tio  
    l*\~ew   
    W aGcoj  
    ; ------------- @-&(TRbZo  
    diagram 4:                                  !输出图表4 #DK3p0d  
    !MJe+.  
    "TransverseProfiles" ;y~{+{{Ow  
    )x8;.@U  
    I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) %w8GGm8^/  
    c6Aut`dK  
    x: 0, 1.4 * r_co /um ~l*?D7[o  
    "radialposition (µm)", @x H&=n:'k^  
    y: 0, 1.2 * I_max *cm^2 r -q3+c^+  
    "intensity (W/ cm&sup2;)", @y 6(J4IzZ  
    y2: 0, 1.3 * N_Tm (YYj3#|  
    frame G]mWaA  
    hx ,s><kHJ  
    hy M9s43XL(&  
    pgd8`$(Q  
    f: N_dop(1, x * um,0),      !掺杂浓度的径向分布 %t~SOkx  
      yscale = 2, (e8G (  
      color = gray, o`\.I&Ij  
      width = 3,  Vp] D  
      maxconnect = 1, ]KXMGH_  
      "N_dop (right scale)" "\/^/vn?  
    t `Y!"l  
    f: I(pump, -1, x *um, 0) * cm^2,    !泵浦光沿光纤径向的强度分布 ![@T iM  
      color = red, R{) Q1~H=q  
      maxconnect = 1,           !限制图形区域高度,修正为100%的高度 hH1lgc  
      width = 3, Wyq~:vU.S  
      "pump" MZ5Y\-nq\  
    Cl6m$YUt  
    f: I(signal_fw, -1,x * um, 0) * cm^2,  !信号光沿光纤径向的强度分布 @1qdd~B}  
      color = blue, Jh43)#G-  
      maxconnect = 1, !0ce kSesr  
      width = 3, l 70,Jo?78  
      "signal" &v$,pg%-:  
    v. Xoq  
    -*|:v67C&  
    ; ------------- 3T|Y}  
    diagram 5:                                  !输出图表5 JvfQib  
    yOWOU`y?  
    "TransitionCross-sections" Zn@W7c,_I  
    }qiF^D}  
    I_max :=maxr(I(pump, -1, 0, 0), I(signal_fw, -1, 0, 0)) L\}Pzxn  
    -!J2x 8Ri  
    x: 1450, 2050 &:c:9w  
    "wavelength(nm)", @x T~%H%O(F  
    y: 0, 0.6 BrJ o!@<  
    "cross-sections(1e-24 m&sup2;)", @y aXdf>2c{JD  
    frame i s L{9^  
    hx 2'wr={>W  
    hy 4l&"]9D  
    E &7@#'l  
    f: s12_Tm(x * nm) /1e-24,      !Tm3+吸收截面与波长的关系 Mlv<r=E  
      color = red, =s'XR@  
      width = 3, 4E=0qbt8  
      "absorption" Mo}H_8y  
    f: s21_Tm(x * nm) /1e-24,  !Tm3+发射截面与波长的关系 L 42|>%uo  
      color = blue, 8FzHNG  
      width = 3, r8uqcKfU  
      "emission" 8RdP:*HY  
    |l|_dn  
     
    分享到
    离线lileisgsz
    发帖
    14
    光币
    69
    光券
    0
    只看该作者 1楼 发表于: 2021-09-28
    感谢,视频上有点看不清楚