Ansys Assistant will be unavailable on the Learning Forum starting January 30. An upgraded version is coming soon. We apologize for any inconvenience and appreciate your patience. Stay tuned for updates.
Photonics – Chinese

Photonics – Chinese

Topics related to Lumerical and more, in Chinese language.

关于二维光子晶体平板能带结构的问题

    • Qingyun Li
      Subscriber

      孙老师,您好。我在模拟二维光子晶体平板,中间遇到一些问题,需要向您请教。

      1. TE和TM分别是哪个方向?如何改变光源的偏振方向,从而得到自己所需的TE和TM模式的能带图?
      2. 下面右图中,ax,ay,az分别表示什么?应该如何设置?谢谢

    • barry Qin
      Subscriber

      A1:在光子晶体平板的仿真里,一般TE模是电场处于xy平面内,TM模是磁场处于xy平面内。但根据习惯不同,定义可能有区别,如果有具体的仿真目标和参考文献的话,一定要先查明文献的电磁场主分量方向,以此为准,不局限在TE和TM的名称上。相关解释可以参照这个帖子:Ansys Insight: 有关TE、TM偏振以及模式光源的问题

      A2:关于这些ax,ay,az这些参数的解释,其实在这个分析组的setup script里就有注释,里边写到,ax、ay、az是“the lattice period in each direction for rectangular or cubic lattices”也就是每个方向的晶格周期。

      • Qingyun Li
        Subscriber

        非常感谢您的解答。但是我还有一些疑问

        1.在二维光子晶体平板能带结构的计算中。如何设置,来得到自己所需的TE或TM的能带图?在"Rectangular photonic crystal bandstructure"中有提到,在2D模拟中,dipole cloud中改变Electric dipole和Magnetic dipole可以获得TE或TM的能带图,如下图所示。我试了,确实可以。但在“Bandstructure of planar photonic crystal with a hexagonal lattice”没有什么变化。不知如何设置可以得到TE和TM的能带图?

        2.Bandstructure of planar photonic crystal with a square latticeBandstructure of planar photonic crystal with a hexagonal lattice中,晶格周期(即a)均为0.5微米。他们在dipole cloud中,ax,ay,az的数值设置为什么一样?如下图。另外,az的设置有意义吗?因为对于二维平板光子晶体,在z方向只有一个周期。

        期待您的解答,谢谢。

    • barry Qin
      Subscriber

       

      您好,这两个问题的答案其实也藏在脚本代码里

      A1:案例里说dipole cloud中改变Electric dipole和Magnetic dipole可以获得TE或TM的能带图,细究代码,其实dipole_type用在了dipole光源的设置里,例如:

      adddipole;

      set(“theta”, rand*360);

      set(“phi”,rand*360);

      set(“dipole type”,dipole_type);

      换言之,分析组里的这一项调整,实际的调整对象为偶极子光源的光源类型,在Lumerical官网的“Dipole source – Simulation object”一文里描述了这一项设置的含义,通过更换偶极子光源的类型,然后运行脚本计算,就能得到TE和TM的能带图。

      在“Bandstructure of planar photonic crystal with a hexagonal lattice”一文中,这个案例中上述的方法同样成立,我做了一下对应的仿真,发现图像其实是存在差异的,虽然差异较小,但确实是TE和TM两种不同的能带图。

       

      A2:案例的分析组脚本是六个案例通用的,相关参数也是,不同的案例由不同的lattice type决定,即:

      # lattice type: 1 if 2D rectangular lattice, 2 if hexagonal lattice, 3 if 3D rectangular lattice,

      #4 if fcc lattice, 5 if bcc lattice, 6 for woodpile

      在平面结构里,az确实是没有意义的,例如latticetype==1时:

      if (lattice_type==1){ # if rectangular 2D lattice

      for(i=1:n_dipoles) {

      adddipole;

      set(“name”,”s”+num2str(i));

      set(“override global source settings”,1);

      set(“set frequency”,1);

      set(“frequency start”,f1);

      set(“frequency stop”,f2);

      set(“x”,(rand-0.5)*ax*0.6);

      set(“y”,(rand-0.5)*ay*0.6);

      set(“z”,(rand-0.5)*z_span);

      set(“phase”,rand*360);

      set(“dipole type”,dipole_type);

      set(“theta”,theta);

      set(“phi”,rand*360);

      }

      }

      并没有使用到az。

      而对3D模型:

      if (lattice_type==3) { # if 3D rectangular lattice

      for(i=1:n_dipoles) {

      adddipole;

      set(“name”,”s”+num2str(i));

      set(“override global source settings”,1);

      set(“set frequency”,1);

      set(“frequency start”,f1);

      set(“frequency stop”,f2);

      set(“x”,(rand-0.5)*ax*0.8); # keep dipoles 20% away from bloch boundaries to inject properly

      set(“y”,(rand-0.5)*ay*0.8);

      set(“z”,(rand-0.5)*az*0.8);

      set(“phase”,rand*360);

      set(“dipole type”,dipole_type);

      set(“phi”,rand*360);

      set(“theta”,rand*360);

      }

      }

      az就起到了作用。

      关于ax、ay、az如何定义周期,在您所说的模型里为何设置相同,也可以从代码看出。

      如果对代码方面了解较少,可以参考“Lumerical scripting language – Alphabetical list”里的指令解释对应着来理解。

       

       

Viewing 2 reply threads
  • The topic ‘关于二维光子晶体平板能带结构的问题’ is closed to new replies.
[bingo_chatbox]