吾爱光设

 找回密码
 注册
会员须知
会员须知
实用帮助
实用帮助
查看: 4341|回复: 0

RP Fiber Power 光纤激光器及激光器设计软件一脚本语言18-19

[复制链接]
  • TA的每日心情
    奋斗
    2022-4-11 09:15
  • 签到天数: 38 天

    [LV.5]常住居民I

    542

    主题

    140

    回帖

    6

    积分

    小白

    积分
    6
    发表于 2020-2-21 15:00 | 显示全部楼层 |阅读模式
    18 使用模式求解器
    RP Fiber Power包含一个模式求解器,它可以根据给定的折射率分布计算光纤的所有导模的特性。此功能可以如下使用:
    首先,定义一个函数,如n_f(r),给出折射率分布。(请参阅下面的示例。)
    (注意,不能定义函数n(r),因为函数名n是为检索激发密度的预定义函数保留的。)
    然后,通过调用函数set_n_profile("n_f", r_core),将折射率函数与光纤关联起来,其中第一个参数是函数名,r_core是纤芯半径。软件假设折射率在这个半径之外保持不变。
    稍后允许修改折射率分布,以查看这如何影响模式。只需再次调用set_n_profile()函数即可。
    如果一个脚本包含多个光纤设备,这些设备可能具有不同的模式分布。只需对这些函数使用不同的函数名,如n1和n2。
    最后,可以使用以下函数检索所有模式属性:
    .ModeExists(l, m, lambda)返回1,如果相应的模式存在,否则返回0。
      A_lm(l, m, lambda, r)是半径r处波长lambda的模式指数l和m的振幅。必须将其与cos(lphi)或sin(l phi)相乘,才能获得完整的模式函数。该函数(包括方位角因子)经过归一化,使得其平方模量在整个区域(纤芯和包层)上的积分是统一的。
    A_lm_xy(l, m, lambda, x, y)是笛卡尔坐标x和y位置的振幅,假设cos(lphi)依赖性。为了获得sin(l phi)依赖性,取A_lm_xy(-l, m, lambda, x, y)(即负l的值)。还有一个函数A_lm_xy_oam%(l,m, lambda, x, y),提供轨道角动量模式的复振幅(振幅与成比例)。
      I_lm(l, m, lambda, r)是1 W光功率的强度。它是A_lm(l,m, lambda, r)的平方模量。它不包括非零l的方位角依赖性;要包括这一点,必须将它乘以2 cos(l phi)^2或2 sin(l phi)^2。
      I_lm_xy(l, m, lambda, x, y)是笛卡尔坐标x和y位置的强度,假设cos(lphi)依赖于正l,sin(l phi)依赖于负l。
    A_ff_lm(l, m, lambda, ax,ay)是角坐标ax和ay(弧度,而不是度数)的远场振幅。
    I_ff_lm(l, m, lambda, ax,ay)是角坐标ax和ay(弧度,而不是度数)的远场强度。
      beta_lm(l, m, lambda)计算模式的传播常数,即单位传播距离的相位变化。(这与功率计算无关,但可能对其他目的感兴趣。)
    w_lm_x(l, m, lambda)和w_lm_y(l, m, lambda)分别计算具有依赖性(为正l)或依赖性(为负l)的模式函数在x或y方向上的近场模式半径(基于二阶矩)。
      A_eff_lm(l, m, lambda)计算模式的有效模式面积,定义为
    注意,这不是x和y方向模半径积的π倍。
    A_eff_lm(l, m, lambda) 计算模式的有效模式面积。注意,这不是x和y方向模半径积的π倍。
    p_core_lm(l, m, lambda) 计算在纤芯内模式功率的分数。
      NoModes(lambda)返回模式数,不考虑偏振。例如,对于单模光纤(仅限LP01模式)为1,对于具有LP01和LP11模式的双模光纤为2。
      NoModes_h(lambda)与NoModes(lambda)相似,但它考虑了l不为零的模式的不同方向(cos和sin版本)。例如,对于模式LP01和LP11的光纤为3,因为后者具有和版本。
    l_max(lambda)返回所有模式的最大l值。
    m_max(lambda)返回所有模式的最大m值。
    cut_off(l, m)返回模式的截止波长,即模式存在的波长。
    进一步的函数可用于计算群速度和色散。
    一旦这些函数中的一个被第一次调用以获得某个波长值,就可以计算并存储该波长的所有导模的特性。因此,即使同时计算了其他波长的模式属性,也可以非常快速地访问该波长下其他模式的属性。
    计算出的模式强度分布也可以直接用于光信道的定义。可以指定'I_lm(1,1,cos)',而不是常规强度分布函数的名称,其中选择了具有依赖性的LP11模式。对于l=0的模式,必须省略φ依赖关系;例如,使用'I_lm(0,1)'。然后软件自动将波长、径向坐标和方位角坐标传递给模式求解器。
    折射率函数的一些示例和更多详细信息:
      简单的阶跃折射率光纤设计可定义如下:
    n_cl := 1.44 { cladding index }
    n_co := n_cl + 0.35e-3 { core index }
    n_f(r) := if r <= r_core then n_co elsen_cl
    如果你知道光纤的数值孔径,你就可以从中计算出纤芯折射率:
    n_co := sqrt(n_cl^2 + NA^2)
    折射率函数也可以有第二个参数,即波长。这样,就可以考虑到材料色散。例子:
    n_f(r, lambda) :=
      if r<= r_core
    then n_germanosilicate(lambda)
    else n_silica(lambda)
    其中,假设已经定义了n_germanosilicate(l)和 n_silica(l)函数(例如,使用Sellmeier方程)。根据已知的锗浓度分布,也可以在二氧化硅和锗的函数之间进行插值。
      抛物线折射率分布可以定义为
    r_core := 10e-6 { radius of the parabolicregion }
    dn_max := 50e-3 { maximum increase of index }
    n_f(r) := if r <= r_core
          then n_cl + dn_max * (1 - (r / r_core)^2)
          else n_cl
    在某些情况下,有一个包含折射率数据的文本列表。例如,列表可能包含等距的数据对。此类配置文件可用于使用以下命令定义函数:
    n_cl := 1.44 { cladding index }
    r_core := 10e-6 { core radius }
    dr := 2e-6 { radial resolution }
    defarray n_f[0, r_core, dr]
    readlist r, n_f[1e-6 * r]:
    0, 1.442
    2, 1.444
    4, 1.444
    6, 1.443
    8, 1.441
    10, 1.44
    n_f(r) := if r <= r_core then n_f~~[r]else n_cl
    折射率函数只使用纤芯区域中的列表值,并对其进行插值。

    19  模拟光束传播

    定义光束传播设备
    通过类似 bp_set_device(1)的函数调用,您可以定义一个光束传播设备,该设备以1到100之间的数字参考。例如,下面的函数调用定义网格或光信道,总是参考当前设置的光束传播设备。
    如果只使用一个设备,则不需要使用该函数;默认情况下将使用设备1。
    定义传播方向
    默认情况下,光场始终从z=0向上传播。但是,可以通过调用bp_set_direction(backward)来反转传播方向。这样做的效果是,初始光场此后将始终存储在最大z位置,并且光场将向后传播。稍后可以调用bp_set_direction(forward),以便再次向前传播。
    定义曲率半径
    如果当前光束传播装置的波导是弯曲的,则定义x和y方向的曲率半径。曲率半径可能取决于z;例如,波导可能在开始时是直的,然后出现一个尖锐的弯曲。这种情况可以通过函数调用来定义,比如bp_set_R('R_x(z)', '0')。这两个参数分别表示x和y方向的曲率半径的数学表达式,这可能取决于z。在给定的示例中,x方向的曲率半径由先前定义的函数 R_x(z)给出,而y方向没有曲率。(无限曲率半径指定为零。)
    定义数值网格
    数值网格定义了可以定义某些输入(例如折射率值或掺杂浓度)并获得输出(例如场振幅)的位置。
    一旦设置了一个光束传播设备,它的数值网格就可以用一个函数调用来定义,比如bp_set_grid(x_max, N_x, y_max, N_y, z_max, N_z, N_s)。一些细节:
    网格覆盖了x的范围,从–x_max到+x_max,步长为N_x。步长大小为2x_max/N_x(注意系数2),步长必须是2的幂。
    类似规则适用于y方向。
    z范围为0到z_max,N_z步长,因此z步长大小为z_max/N_z。
    但是,对于光束传播计算,每个间隔dz = z_max / N_z都有N_s的数值子步长。如果需要更精细的数值步长而不存储所有中间振幅分布,则使用N_s大于1。请注意,折射率、曲率半径、掺杂浓度和泵浦强度等量只计算每个完整的z步长,而不是每个子步长。因此,如果降低N_z并相应增加N_s,结果的准确性可能会受到影响。
    在仿真过程中,N_s的值可以自动更改,例如根据局部功率或峰值强度。为此,我们使用一个函数调用,比如bp_set_N_s('bp_I_max(z)/1e5', u),它为每个z步长后重新计算N_s分配一个z相关表达式(第一个参数)。该值必须介于0(有效地取为1)和106之间。如果第二个参数为非零值,则将在每个子步长中重新计算空间因子(由折射率和曲率半径产生),否则,仅针对每个网格位置(默认情况下)。请注意,不应经常更改N_s,因为每次需要重新计算某些量。
    请注意,如果在定义光信道后重新定义了网格,则会删除所有光信道,因为它们都必须使用相同的网格参数。

    定义反射边界
    默认情况下,数值网格具有周期性边界条件。例如,达到最大x值边界的波将在另一侧重新进入网格。这种行为在物理上并不现实,但只有当一个重要的光能到达边界时才重要。
    可以通过调用bp_set_reflection('x')(仅用于x方向的反射)、bp_set_reflection('y')或bp_set_reflection('xy')(用于所有边界的反射)来反射网格边界。
    另一种可能性是通过一个Boolean表达式定义一个反射面,这个Boolean表达式可以依赖于x和y。对于该边界之外的所有点,它必须计算为非零值。例如, bp_set_reflection('(x / a_x)^2 + (y / a_y)^2 >= 1')定义椭圆反射边界。
    请注意,这种边界只对传播中足够小的z步长具有高度反射。否则,某些场可能穿透反射区。反射区域的数值实现只需在所有振幅上引入π相移(每一步长),而不是通过实施零振幅,因为这将导致一些光功率损耗。
    定义克尔非线性性
    如果需要考虑克尔效应的自相位调制(SPM)和交叉相位调制(XPM),可以使用bp_set_n2('n2(x,y)')等函数调用来设置非线性指数n2。该参数可以依赖于x和y,或者也可以依赖于径向坐标r。例如,纤芯中的非线性可能比包层中的强。
    不同的光信道(见下文)可以通过交叉相位调制相互作用。这种相互作用的相对强度取决于偏振方向。如果所有涉及的波具有相同的偏振,则相对强度为2(假定默认值)。对于两个交叉偏振光信道,可以使用bp_set_XPM(2/3)设置系数为2/3。
    默认情况下,SPM和XPM应用于每个数值步长。但是,通过调用bp_set_SPM_steps(N),可以只应用每N个数值步长;每个交互作用的强度都相应地增加。该特征可用于节省计算时间,但如果场分布在选定的有效步长内发生实质性变化,则可能会影响结果的准确性。
    注意:不要将上述函数与适用于超短脉冲传播模型的set_n2()和set_XPM()函数混淆(见第5.21节)。
    定义拉曼非线性性
    如果需要考虑受激拉曼散射(SRS),可以使用bp_set_SRS('g_R')这样的函数调用来设置拉曼增益系数gR(以m/W为单位)。这个参数是一个传递拉曼增益系数的表达式。它可以依赖于所涉及信道的光频差df。(如果只有两个不同频率的信道相互作用,则使用一个常数就足够了。)此外,拉曼增益系数可以取决于径向坐标r或笛卡尔坐标x和y;例如,纤芯中的拉曼非线性可能比包层中的强。
    拉曼相互作用只与具有不同波长的光信道有关。最多可以有100对交互信道。例如,可以有多个不同波长的泵浦信道,这会导致多个信号信道的拉曼放大。因此,正确定义相互作用的频率依赖性是很重要的(见上文)。
    例如,对于二氧化硅,可以使用以下非常简单的表达式:1.1e-13* (df / 14e12) * exp(-(df / 17e12)^10)。在13THz频率偏移附近,它提供了≈10-13m/W的峰值。请注意,锗硅酸盐玻璃可以显示出更高的值。
    拉曼相互作用不适用于频率相同的光信道,即使没有规定增益系数的频率依赖性。
    注意,不包括自发拉曼散射。因此,如果输入信号的功率为零,就不会出现斯托克斯信号。然而,人们可以通过使用弱输入信号(根据量子噪声波动的功率)来模拟这种效应。
    默认情况下,拉曼非线性应用于每个数值步长。但是,通过调用bp_set_SRS_steps(N),可以只应用每N个数值步长;每个交互作用的强度都相应地增加。该特征可用于节省计算时间,但如果场分布在选定的有效步长内发生实质性变化,则可能会影响结果的准确性。
    定义激光活性掺杂
    如果光纤中含有激光活性离子或作为饱和吸收剂的离子,则其掺杂浓度必须通过一个函数调用来定义,如bp_set_N_dop('Yb', 'N_dop(x, y, z)').。第一个参数表示离子的类型,第二个参数给出了导致掺杂浓度的数学表达式;它可以依赖于x、y和z坐标。
    请注意,在定义任何光信道之前,必须定义激光活性掺杂。
    在光束传播仿真中,软件使用脚本语言中所述的简单增益系统。从本质上讲,激光活性离子只有一个亚稳态能级,即较高的激光能级。例如,如果激光活性离子为镱类型(Yb),则跃迁截面必须定义为s_a_Yb(l)和s_e_Yb(l)(分别用于吸收和发射),并且上态寿命存储在变量tau_Yb中。这些数据通常从光谱数据文件中读取。
    请注意,更复杂的增益模型,例如涉及能量传输和上转换,不能用于光束传播的情况下,而只能用于功率传播模型。
    所有光信道(见下文)都与激光活性离子相互作用,只要它们具有相关波长的非零跃迁截面。此外,还可以通过函数调用定义固定的泵浦强度分布,如bp_set_I_p('I_p(x, y, z)', lambda_p)。这里,第一个参数是计算光纤中任何位置的泵浦强度的表达式,第二个参数是泵浦波长。立即计算并存储整个网格的泵浦强度。允许在随后调用该函数或bp_set_I_s()时定义最多10个这样的附加泵浦(或信号)波,其作用完全相同,但其名称更清晰,对于使用附加信号波。通过再次调用这样的函数,可以修改相应的强度分布。通过使用一个空字符串(或“0”)作为第一个参数来调用它,可以删除具有相应波长的波。请注意,强度分布总是只与先前定义的激光活性掺杂剂的掺杂分布有关。
    这种离子可以有多种类型,参数可以独立设置。这意味着bp_set_N_dop()被多次调用,每次都使用不同的离子名称。此后,可以调用上面描述的所有其他函数来为相应的离子类型定义进一步的细节。还可以使用bp_set_N_dop()返回已定义的离子类型(不更改它),方法是使用第二个参数(通常是掺杂浓度)作为空字符串来调用它。例如,这就允许我们判断哪个离子类型是用于进一步调用函数的,比如bp_set_I_p()或bp_excitation()。
    光与激光活性离子(或可饱和吸收离子)的相互作用有不同的仿真方式:
    默认情况下,软件总是根据所有光信道的局部光强度和泵浦波来计算稳态解。为此,它计算离子的局部稳态激发密度并存储这些值。
    也可以进行动态仿真。这里,假设光场在一定时间间隔内与激光活性离子相互作用,其宽度由函数bp_set_dt(dt)定义。这个时间步长尺寸应该很小,这样激发在一个步长中不会发生强烈变化。通过设置负的步长尺寸,可以完全抑制光场对激发的反作用,这对某些测试有用,而且在已知反作用较弱的情况下也可以节省时间。
    稍后可以更改时间步长尺寸。例如,当激光开始时,我们可以在Q开关激光仿真中减少它,因为激光场发展得更快。
    如果时间步长设置为零,则表示应计算稳态值(默认情况下完成)。例如,可以首先使用此设置,执行单个传播以获得存储的稳态激发作为初始状态,然后使用正时间步长尺寸来模拟附加影响下的进一步演化。
    初始激发密度均为零。它们可以根据给定的泵浦强度分布而改变:如果离子只与泵浦波作用一段时间t,如果该值为正值,那么函数bp_do_pumping(t)会更新激发密度。如果为零,则计算稳态值(仅用于泵浦)。
    另一种可能是用函数bp_set_excitation(x, y, z, n)直接设置激发密度,其中最后一个参数是分数激发(介于0和1之间)。
    在任何时候,都可以用函数bp_excitation(x, y, z)来检索局部激发密度(更精确地说,是激发离子的分数)。
    如果应包括Kramers–Kronig效应(与增益变化相关的相位变化),则调用函数bp_set_alpha(alpha),其中参数是线宽增强因子。一个z步长中的相位变化是线宽增强因子乘以振幅增益。
    定义光信道
    可以定义当前所选光束传播设备的多个光信道,用函数调用如signal:= bp_define_channel(lambda),其中lambda是信道的真空波长,函数结果是信道数(例如,第二个定义的信道为2)。
    之后,我们可以做更多的定义,这些定义都只适用于当前的光信道:
    bp_set_n(func$)定义折射率分布。参数是一个字符串,它根据x和y定义一个数学表达式。例如,'n_f(sqrt(x^2+ y^2))'将引用以前定义的径向坐标函数。
    请注意,需要为每个光信道定义折射率分布。它可以在信道之间有所不同,因为这些信道可以具有不同的波长和/或偏振方向。
    如果折射率也依赖于z位置,则可以使用bp_set_n_z(func$, test$)和折射率函数,该函数可能还依赖于z。第二个参数是用于确定是否必须重新计算某个z位置的折射率的表达式:只有当测试表达式更改才重新计算。例如,如果测试表达式仅为z,则总是重新计算;如果测试表达式为trunc(z/mm),则仅每毫米重新计算一次。
    可以对折射率值应用平滑处理程序,其中每个值都被包含相邻值的加权平均值(使用高斯权重函数)替换。这对已经平滑的分布几乎没有影响,但减少了阶跃折射率分布的某些数值伪影。通过定义上述高斯函数的半径值,可以设置平滑的强度,使用bp_set_n_smooth(r) 定义上述高斯函数的半径值,其中r可以介于0(无平滑)和10(强平滑)之间;1表示大多数情况下仅使用直接相邻的点进行平滑。特别是在横向分辨率较高,实际折射率分布不太陡的情况下,建议使用较大的平滑参数值。
      bp_set_loss(func$)定义线性损耗分布。其参数是x和y的函数,其值表示以dB/m为单位的局部传播损耗。例如,使用bp_set_loss('((x^2+ y^2)/(10 um)^2)^4'),可以定义在网格边缘急剧上升的损耗。
    请注意,可以引入此类损耗以抑制来自网格边界的反射。此外,还可以指定负损耗,即增益。(但是,对于可饱和激光增益,应该使用bp_set_N_dop())。
    bp_set_A_factors(z, 'f%(x,y)')定义了一个复因子,当达到某个z位置时,它将应用于空间域中的复场振幅。这可以用来滤除某一点上的包层模式,或者在自由空间仿真中实现薄透镜或孔径。(可为任何z位置定义此类系数。)如果给定的z值为负值,则在每个z步之后应用这些振幅。
    bp_set_A_f_factors(z,'f%(f_x, f_y)')与函数bp_set_A_factors()相同,但在空间傅立叶域中。
      bp_set_A0(func$)定义当前信道的初始幅度分布为一个x和y的函数。例如,'sqrt(P/ (0.5 * pi * w0^2)) * exp(-(x^2 + y^2) / w0^2)'定义一个高斯函数,功率P,高斯半径w0和0复相位。振幅按比例缩放,使其模量平方等于光学强度(功率每单位面积)。
      bp_copy_A0(d, ch, z) 复制某个光束传播设备d和信道ch在z位置的场分布,作为当前传播信道的初始场分布。(涉及的光信道必须有相同的波长。)例如,可以复制同一传播信道末端的场,以便在不需要更多内存的情况下开始进一步传播。如果两个场有不同的数值网格(在尺寸或分辨率方面),则使用二次插值计算新的场值。
    bp_set_color(s$)定义色彩设置在光束分布查看器窗口。其参数可以是光束分布查看器中可能的设置:'default', red', 'green'.'blue' 或 'user'。
      bp_set_label(s$)设置当前信道的文本标签,它可以显示在光束分布查看器。
    请注意,所有这些设置都必须针对每个光信道进行;例如,需要为每个光信道定义折射率分布,并且可能取决于其波长。
    通常,在对计算的量使用任何函数之前,所有这些设置都必须完成(见下文)。但是,稍后还可以设置光纤属性;这将重置已计算的分布数据,以便在以后需要时重新计算。
    可以使用诸如bp_set_channel(j)这样的函数调用在已经定义的信道之间进行切换,其中j是信道号。
    稍后,您可以通过调用函数bp_remove_channel(j)来移除光信道。如果随后对许多波长进行计算,这是明智的,因为许多信道的数据积累可能导致主内存不足。
    获取计算的量
    现在,人们可以获得光纤中光场的各种计算的特性:
    函数bp_A%(x, y, z)为给定位置和当前选择的光信道提供复振幅。
      bp_I(x, y, z)是光强度(振幅的平方模量)。
      bp_I_max(z)是分布的最大光学强度。
      bp_P(z)是光功率,即整个区域的综合强度。
    bp_x_m(z)是给定z坐标下光束分布的平均x位置。计算为强度分布的“重心”。以类似的方式,bp_y_m(z)是平均y位置。
      bp_w_x(z)和bp_w_y(z)根据强度分布的第二个力矩分别计算x和y方向的光束半径。
      bp_A_eff(z)计算有效模式面积。请注意,这与基于强度分布的第二个力矩的光束半径没有直接关系;这些量之间的关系取决于强度分布的形状。
    bp_A_f%(fx, fy, z) 在傅立叶空间提供振幅分布。这是通过应用在x-y平面的二维傅立叶变换到振幅分布计算的,与bp_A%(x,y, z)获得的一样。
    例如,参数fx=20000对应于x方向每米20000次振荡。如果真空波长为1000 nm,则对应于光纤外(20000/m)/(1/1μm)=20 mrad的传播角,仅考虑x方向。
    请注意,此函数仅限于低于奈奎斯特频率的参数;例如,最大fx值为0.5/dx,其中dx是x方向的分辨率。如果选择足够高的空间分辨率,对于接近奈奎斯特频率的频率,傅立叶变换的振幅通常会很小。
    bp_theta_x(z)和bp_theta_y(z)计算光束的半角发散,如果该位置的光束分布被释放到真空中。(例如,在玻璃内部,实际的发散角较小。请注意,如果折射率不均匀,玻璃内的折射率可能会变化。)此计算基于傅里叶空间中振幅分布的第二个力矩。
      bp_M2_x(z)和bp_M2_y(z)分别计算x和y方向的光束质量M2因子。如果已知波前是平的,例如对于无损光纤中的模式,可以使用更快版本的bp_M2_x_col(z)和bp_M2_y_col(z)。
    默认情况下,坐标位于四舍五入到网格点的函数中。但是,在调用其他函数之前,可以使用bp_set_interpol(1)这样的函数调用来获得线性插值。使用bp_set_interpol(2),获得二次插值,参数0将关闭插值。
    存储光束分布
    在某些情况下,需要存储计算的光束分布。例如,可能需要模拟光束通过某个设备的多次往返,并在每次往返后存储光束分布。为此,可以为一些分布创建存储区域,将分布存储在该区域中,并调用这些分布:
    bp_set_storage(x_max, N_x, y_max,N_y, N)定义一个存储区域,具有给定扩展名和x、y方向点数的数字网格(如函数bp_set_grid())。在该函数调用之后,可以用0到N之间的索引(上面调用中的最后一个参数)存储光束分布。
    bp_store_profile(z, j)使用存储位置j将当前光束分布存储在存储区域的给定z位置。
    bp_get_stored()(不带任何参数)使bp_I(x,y, z)或bp_P(z)等函数访问存储的分布(见上文)。
      bp_save_grid(FileName$)将当前光束传播设备的所有网格数据(即其所有信道的3D振幅分布)保存到具有给定名称的二进制文件中。如果成功则返回1,否则返回0。
    . bp_load_grid(FileName$)从具有给定名称的文件中加载当前光束传播设备(即其所有通道)的所有网格振幅数据。如果成功则返回1,否则返回0。
    在光束分布查看器中,z坐标表示存储分布的索引(0…N)。
    修改光束分布查看器的设置
    通过某些函数,您可以更改光束分布查看器表单的设置,通常情况下,会手动更改该表单中的设置:
    bpv_show(r) 显示(非零r)或隐藏光束分布查看器。
    bpv_set_device(j) 将某个光束传播设备设置为查看器的源。
    bpv_set_channel(j)设置某个光束传播信道。
    bpv_set_domain(s$)用变量'real space'或'Fourier space'设置空间域。
    bpv_set_interpolation(s$)用变量'none'、'linear'或'quadratic'设置插值。
    bpv_set_resolution(s$)用变量'coarse'、'middle'或'fine设置分辨率。
      bpv_set_color(s$)用变量'default'、'red'、'green'、'blue'或'user'设置颜色。
      bpv_set_plot(s$)用变量'intensity'、'amplitude'或'function'设置绘图。
      bpv_set_function(s$)设置绘图函数。
      bpv_set_log_scaling(r) 打开(r≠0)或关闭(r=0)对数缩放。
      bpv_set_remove_fast_phase(r) 打开(r≠0)或关闭(r=0)以移除z方向的快速相位变化。
      bpv_set_plane(s$)使用参数'xy'、'xz'或'yz'设置显示平面。
      bpv_set_show_parameters(r) 打开或关闭参数显示。
      bpv_set_show_grid_lines(r) 打开或关闭网格线的显示。
      bpv_set_scaling(j) 将颜色值的比例设置为10到+10之间的某个分贝数。
    bpv_set_zoom(j) 设置缩放级别。x和y坐标范围减小了系数2j。
      bpv_set_position(r) 将x、y或z位置(取决于显示平面)设置为某个值(以米为单位,如果为yz或xz平面设置了傅立叶空间,则以1/m为单位)。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?注册

    ×
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    联系我们|本论坛只支持PC端注册|手机版|小黑屋|吾爱光设 ( 粤ICP备15067533号 )

    GMT+8, 2024-11-23 07:54 , Processed in 0.109375 second(s), 22 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表