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

Photonics

Topics related to Lumerical and more.

lumopt grating coupler optimization limits

    • q.sheng
      Subscriber

      Hi!

      Im currently using lumopt to design a grating coupler in 2D FDTD with a different materials and geometry compared to the provided example. I fistly did a primitive parameter sweep for x0 and R to reach a coupling efficiency of approximately 30%, and expect to improve it with lumopt optimization. However, the optimization process seems to increase the FoM and approaching the FoM with initial parameter sweep (30%) and the maximum FoM is even bit less, instead of exceeding it.

      Also, the examples provided by lumerical website seems similar to this, the optimization of FoM approaches the initial parameter value instead of higher. It seems not 'optimizing the grating coupler', but making the gratings more random but not improving the performance. May I know it's because of my seetings or it's just how the algorithm works?

      Best, Qiyuan

    • anna.wirth-singh
      Ansys Employee

      Hi Qiyuan,

      Thanks for the question. It is possible that the primitive parameter sweep found a nearly optimal structure, so there may not be much room for improvement with lumopt. Lumopt is expected to be beneficial when the number of optimization parameters becomes large; if you are only modifying a few parameters (for example, just sweeping over periodicity and height) then the built-in particle swarm optimization can do a pretty good job at finding an optimal solution.

      What I can suggest doing, to make sure you are really achieving close to an optimal solution, is to start the lumopt optimization from the ideal parameters found by the particle swarm optimization. In the lumopt .py file, look for the   ‘initial_params’ variable and set those values to the ideal conditions found in your earlier optimization. That way, the FOM should start near 30% if that is what the particle swarm optimization found. If the FOM does not increase, and especially if you vary the initial conditions a bit but consistently achieve around 30%, then I would conclude that you have already reached the optimal efficiency for this design. If this is still lower than expected, then there may be some other design issue (such as meshing or material fit) rather than the optimization algorithm. One note is that it is important to use a mesh override region Mesh override - Simulation Object – Ansys Optics with lumopt to ensure that the mesh is consistent from iteration to iteration.

      From the plots you sent, the optimization looks decent to me. The FOM steadily increases and then flatlines, which is the expected process.

       

      I hope this helps!

      Best,

      Anna

      • q.sheng
        Subscriber

        Hi Anna,

        Thanks a lot for the explanation!

        To my understanding, how lumopt design the grating coupler is firstly optimize the x0, R and fiber position for a apodized grating coupler, and use this as the starting point, then optimize with the filling factor and pitch of each grating as variable by adjoint method. That's why Im bit confused: with more DoF of the grating coupler, the result is not getting higher than with the starting parameters? Does this mean the apodized GC is the best solution, then why we are using the inverse design? (I assume this is the lumopt problem because I noticed in the example provided by the ansys, transimission of starting point is 61% and the optimized FoM just approaches but doesnt exceed 61%, as shown in the picture). 

        Best

        Qiyuan

         T-vs_Source_position.pngoptimization120.png

    • anna.wirth-singh
      Ansys Employee

      Hi Qiyuan, thanks for the additional clarification - I see your concern with the example and am taking a closer look. One thing I will check for is to see if the parameter bounds are too restrictive. In most inverse design, we set bounds on the optimizable parameters to ensure that the optimizable geometry does not expand outside the simulation region or into any unphysical geometry. 

      In this example, these bounds are set in lines 100-102 in pid_grating_coupler_2D_1etch.py. We can try making these bounds larger to see if we simply are not allowing the parameters enough room to find the optimal values. I'm checking on my side and will let you know the results. 

      I will also comment that it is generally true that we'd expect increased performance with increased degrees of freedom, but this is not a guarantee. One additional benefit of lumopt inverse design, as compared to particle swarm optimization, is that it requires fewer simulations to converge to an optimal solution. By using the adjoint method in lumopt, we are able to calculate the gradients with respect to all the parameters with a single forward + adjoint simulation per iteration. This benefit for speed becomes more significant as the number of parameters increases. 

    • anna.wirth-singh
      Ansys Employee

      Hi Qiyuan,

      I can provide some further insight into this example. In the first part, where a primitive parameter sweep is used alongside the analytical solution, the FOM is about 61%; however, this design has some gaps between the grating teeth that are too small to be reliably manufactured (30 nm). With the introduction of lumopt into the second part, we enforce a minimum feature size of 100nm. So it is expected that the performance is lower when this manufacturability constraint is introduced as opposed to when the available parameter space is larger. With lumopt, the goal is to obtain decent performance while ensuring manufacturability at the same time.

      I hope this helps to clarify the results shown in the example.

      Best,

      Anna

Viewing 3 reply threads
  • You must be logged in to reply to this topic.
[bingo_chatbox]