20 动态仿真
RP Fiber Power可以模拟有源光纤系统的时间演化。前面讨论了一些基本问题和两种不同的数值模型。下面介绍了如何用RP Fiber Power实现这些模型:
一、首先,我们需要确定光纤的初始状态,即仿真开始时的电子激发。为此,我们通常首先用通常的方法计算稳态粒子数。例如,考虑一个具有连续泵浦和低重复率的强信号脉冲放大的光纤放大器。在这种情况下,模拟一定泵浦功率但信号功率为零的稳态情况。这同样适用于调Q激光器:初始状态可以作为无激光泵浦的稳态。
当然,您也可以在另一个动态仿真之后进行动态仿真,从该仿真的最终状态开始。
二、接下来,我们必须定义与时间相关的输入功率。对于具有时间依赖性输入的每个光信道,进行一个函数调用,如set_P_in_dyn(signal, 'P_s_in(t)')。这将为某些光信道的时间相关输入功率分配一个表达式(此处为函数)。也可以直接输入一个与时间相关的项;例如:set_P_in_dyn(ch, 'exp(-(t / 5e-9)^2)')。(稍后可以使用空字符串的调用来抑制对未来仿真的时间依赖性,并将输入功率设置为0。)
三、 如果光纤端面的反射率也与时间有关(如调Q激光器中的情况),则可通过诸如set_R_dyn(signal, 'R1(t)','R2(t)')等函数调用来定义。这将为光纤两端的时间相关反射率分配两个先前定义的函数。
四、 谐振腔内的时间依赖性局部损耗(光纤的左侧和右侧)可通过set_loss_int_dyn(signal, 'l1(t) ', 'l2(t) ')来定义。这将为这些损耗分配两个时间相关函数(值介于0和1之间)。例如,该函数可用于模拟有源Q开关。
五、如果不仅需要在光纤输出端,而且需要在光纤内的任何位置访问动态光功率,则必须对每个信道进行类似calc_P_dyn_z(ch,flag)的函数调用。第一个函数参数是信道号,第二个参数是标志,非零值表示必须存储功率。必须在调用calc_dyn()之前完成该函数调用。(请注意,所需的内存量与所选信道的数量、光纤中的空间步长数以及动态仿真的时间步长数成比例。)
六、 如果需要访问光纤内任何位置的动态激发,而不仅仅是光纤长度上的平均值,则必须进行类似calc_n_dyn_z(flag)的函数调用,其中参数必须为非零。必须在调用calc_dyn()之前完成该函数调用。
七、 然后用calc_dyn(t1, t2, dt)这样的函数调用开始动态计算,它定义了一个时间间隔[t1, t2]和一个时间步长尺寸dt。然后,软件模拟该时间间隔内系统的时间演化,并存储所有信道的输出功率。
八、 dt的非零值表示应使用简化模型,忽略传播时间,用户可以指定一个时间步长尺寸,该时间步长可能比光通过某些光纤段传播所需的时间要大得多,甚至是整个往返行程。请注意,用户随后负责使时间间隔足够短,以便对不同的光功率进行适当的采样。除此之外,如果能级粒子数变化过快而无法产生准确结果,软件会自动选择更精细的时间子步长。
九、如果0用于dt,这表明传播时间不应被忽略,并且使用的时间步长尺寸与光通过一个光纤段传播所需的时间相对应。该时间计算为光纤段长度乘以群折射率除以真空光速。群折射率取自变量n_g,用户必须事先定义该变量。(玻璃光纤的典型值约为1.5。)此外,如果激光谐振腔包含额外的未掺杂光纤或空气空间,您还可以使用函数set_delays(T1, T2)(在调用calc_dyn()之前)来定义激活光纤左侧和右侧发生的时间延迟(以秒为单位)。
十、有一个修改版本calc_dyn_cond(),有一个附加的字符串参数,这是一个条件(例如:'P_out_dyn(signal, t) < 1 MW')。这里,传播只在满足条件时进行。该特性可用于在某些光功率或增益达到某个阈值时停止传播。
十一、 最后,您可以使用各种函数检索计算出的时间相关值:
十二、依赖时间的输出功率是通过函数调用获得的,比如P_out_dyn(ch,t)。
十三、如果在对应信道的calc_dyn()之前调用了calc_P_dyn_z(ch,1),则可以使用P_dyn(ch, z, t)等调用计算光纤中任何时间相关的功率。
十四、 输出功率的最大值可以用P_out_dyn_max(ch)获得,峰值位置可以用t_peak(ch)得到。
十五、您可以使用n_av_dyn(l, t)获得时间依赖性能级粒子数(在光纤长度上平均),使用sp_gain_dyn(ch, t)获得时间依赖性单通增益。
十六、 如果calc_n_dyn_z(1)在calc_dyn()之前被调用,则可以使用n_dyn(l, z, t)等调用计算光纤中任何位置的时间依赖性激发。
十七、 此外,还可以使用P(ch,z)和n(z,l)等函数计算位置相关量,然后将其应用于模拟时间间隔的末尾。
还可以进行多个动态仿真,包括随后的时间间隔。例如,当对Q开关激光器的脉冲发射进行建模时,对于打开Q开关(在脉冲发射的地方)的时间间隔使用精确的方法(dt=0),随后对关闭Q开关的泵浦相位(可以使用更大的时间步长)使用简化的方法,然后进一步模拟脉冲发射。每次调用calc-dyn(t1,t2,dt)函数后,在给定的时间间隔内,功率、激发和单通增益的动态数据可用,但在与先前函数调用相对应的时间间隔内不再可用。