Photonics – Chinese

Photonics – Chinese

Topics related to Lumerical and more, in Chinese language.

请问对于一个S参数的分析组如何设置频率的点数变多?

    • TJSN13579
      Subscriber
      请问对于一个S参数的分析组如何设置频率的点数变多?
    • Guilin Sun
      Ansys Employee
      在分析组Setup脚本中需要加 selectpartial("_index"); set("override global monitor settings",0); 在分析脚本中,加 然后在任何需要这两个变量的地方,添加 (i) 因为现在它们是数值而不是一个值了,你需要逐个修改。只要设置正确,后面分析脚本问题可以在运行后的文件中修改,测试,最后要记住APPLY, SAVE 否则下次有可能还出问题。
    • TJSN13579
      Subscriber
      请问对于分析组中的透射率和反射率也想要增加点数,应当怎么修改,对于setup和analysis当中的代码的修改能否具体指明修改的地方
    • Guilin Sun
      Ansys Employee
      你可以在添加所有频域监视器时,选择使用Global,如果不再修改,Global缺省的点数为50.也可以修改。
      select;
      set("override global monitor settings",0);
      这样就用缺省的数值。
      set("frequency points",100)
      设置100个点。
      最简单的是用缺省的,而且缺省的也可以修改,比如
      ?setglobalmonitor;这是所有可以修改的参数:
      use source limits
      minimum frequency
      maximum frequency
      frequency center
      frequency span
      minimum wavelength
      maximum wavelength
      wavelength center
      wavelength span
      frequency points
      use wavelength spacing
      sample spacing
      custom frequency samples
      这样所有的频域监视器均可以用相同的频率点数。仅需要修改所想修改的。
      你试一下看看。
    • TJSN13579
      Subscriber
      老师,您好,目前添加了上述代码之后,已经能够对点数进行修改了,但是在分析组的analysis的代码当中出现了报错,首先在101行出现。添加下列语句也没起什么作用? refractive_index_1=pinch(refractive_index_1); refractive_index_2=pinch(refractive_index_2);
    • Guilin Sun
      Ansys Employee
      因为频率是一个矩阵,而refractive_index_1和refractive_index_2 也是矩阵,它们的维数必须一样才可以相乘。 频率是一维数组,而refractive_index是XYZ和频率的函数,再加上它是一个点监视器,所以需要将XYZ都是一个点的维度Pinch掉。 但凡脚本出错,你应该将出错行的变量用问号显示出维数,参见 Ansys Insight: 几个简单实用的脚本Script命令:用于结果分析 可以用size.
    • TJSN13579
      Subscriber
      老师,您好在您的建议下利用pinch之后在对k1的求解当中不再报错了,但是在147行出现的问题,具体应该怎么操作呢?在分析组当中出现的问题,好像的外部script prompt当中无法通过?size(a)的形式来查看维度,在s_parameters分析组analysis的script中对于将prequency points增加后出现的问题,在代码当中具体需要在哪些地方进行修改和如何修改是否会有具体的案例呢?能否将仿真文件发给您,麻烦您帮我看一下问题具体出现在哪里呢?
    • HeSu
      Subscriber
      维数不对,在任何需要refractive_index_1和refractive_index_2 这两个变量的地方,添加 (i) 。
    • TJSN13579
      Subscriber
      请问是在代码当中出现refractive_index_1和refractive_index_2 的后面都添加(i),以及对应的语句的因变量上也添加(i)吗?
    • Guilin Sun
      Ansys Employee
      因为现在refractive_index_1和refractive_index_2是频率的函数,所有所有用到它们的地方都要改。
    • M202073016
      Subscriber
      老师您好!我也面临了同样的问题:在S参数分析组中修改点数。按照您提供的方案,我逐一试了一遍(如图中画红色圈的部分),“全局监视器”和“频率点数”均未有反应,请问会是什么原因呢?
    • Guilin Sun
      Ansys Employee
      你把前面的井号去掉试一下。
    • M202073016
      Subscriber
      老师您好,不好意思我之前没有表述清楚,我试的时候是去掉了井号的,截图里边因为是运行好了的,所以加了井号。您之前说的两种添加方式,我都试了一遍,还有自己各种组合了一下。如果完全按照您说的方法,它会在“select”语句那儿报错;把select去掉之后,就会在set(“frequency points")这行报错。
    • M202073016
      Subscriber
      老师您好!不好意思我之前没有表述清楚,我试的时候是去掉了井号的。截图里的因为是运行好的,所以加了井号。您说的两种添加方式我都试了一遍,它会在select那行报错,如果去掉这行,就会在set(“frequency points”,100)这行报错。如果稍加修改,调整代码的位置,不报错之后,也不会对监视器中的频率点数有影响。
    • Guilin Sun
      Ansys Employee
      不选择Override Global monitor 的话,就是需要你在监视器全局变量那里设置统一的频率点数,所有频域监视器都用它。     但是, setglobalmonitor("frequency points",100);不能在分析组中运行。如果想用分析组中的Setup脚本设置,那就要分别选择设置: 折射率监视器 selectpartial("_index"); set("override global monitor settings",1); set("frequency points",num_f); 反射和透射监视器 select("R"); set("override global monitor settings",1); set("frequency points",num_f); select("T"); set("override global monitor settings",1); set("frequency points",num_f); 当然需要事先定义num_f:
    • M202073016
      Subscriber
      谢谢老师,我按照您说的方法问题已经解决了,在频域监视器里直接设置全局变量,或者按照脚本中的内容修改代码,都能实现“S参数分析组”中频率点数的重新设置了,这个回答对我非常有帮助。
    • Guilin Sun
      Ansys Employee

      好的,谢谢告知!请把前面的回复标记为Best Answer。

Viewing 16 reply threads
  • The topic ‘请问对于一个S参数的分析组如何设置频率的点数变多?’ is closed to new replies.