Photonics – Chinese

Photonics – Chinese

关于光器件逆设计程序lumopt中adjoint method梯度计算公式的问题

    • arminda_lopez_00
      Subscriber

      您好!我在使用lumopt程序(example:splitter_opt_2D.py)时遇到一些问题。我仔细阅读了adjoint method计算梯度的代码部分,并尝试根据代码中的公式进行了推导,发现我的推导并不能完全和代码中的公式对应起来,希望求助得知我的理解在哪个部分出现了偏差。

      根据Adjoint Method参考文献及官网介绍推导Lumopt中梯度计算公式简要过程如下:

      根据Lumopt中代码分析公式的实现如下:

      理论分析得到的公式与代码中的公式实现区别分析及问题如下:

      上述内容中涉及到的参考资料如下:

      [1] A. C. R. Niederberger, D. A. Fattal, N. R. Gauger, S. H. Fan, and R. G. Beausoleil, "Sensitivity analysis and optimization of sub-wavelength optical gratings using adjoints," Opt. Express, vol. 22, no. 11, pp. 12971-12981, Jun 2014.

      [2] https://optics.ansys.com/hc/en-us/articles/360049853854-Photonic-Inverse-Design-Overview-Python-API

      [3] https://optics.ansys.com/hc/en-us/articles/360050995394

      [4]https://optics.ansys.com/hc/en-us/articles/360034902433-Using-and-understanding-Mode-Expansion-Monitors

       

      感谢您的阅读!任何建议与帮助都感激不尽!

       

      #adjoint-method #inverse-design #lumopt

      @Ansys Innovation Space Help

       

    • Guilin Sun
      Ansys Employee

      谢谢你的详细推导.遗憾的是,论坛一般只讨论仿真问题,不讨论理论问题。原模型是伯克利大学博士生开发的,最好是参考其文章:https://lumopt.readthedocs.io/en/latest/basic_theory.html

      我提供一些Comment供参考: 模式的功率不能简单用EE*;系数4最可能的原因是,功率是0.5*,而不是1 。但是光源功率一定是用的0.5,参见

      Ansys Insight: FDTD 初学者: transmission函数的使用、透射率反射率正负号问题

      估计两次计算,可能产生4.

      反向场于正向场差Pi位相,是不是这里有点问题?另外公式12里有个共轭,是不是源之这个?

      具体的推导过程我也没有看过,遗憾,你自己再琢磨一下看看。

       

       

    • arminda_lopez_00
      Subscriber

      好的孙老师,非常感谢您的回复与建议!

Viewing 2 reply threads
  • You must be logged in to reply to this topic.