Photonics

Photonics

Topics related to Lumerical and more.

Constraining dipole position to a structure group variable in particle swarm optimisations

    • Stealthbird97
      Subscriber

      Hi,

      Can anyone suggest how I can setup my FDTD simulation such that that the dipole is constrained relative to an interface.

      I am trying to optimise the thickness of a material layer which has emitters fixed 10nm from the bottom interface with another material, however, I am unsure how I can make sure that the dipole is always this set distance while changing the thickness of the material using a PSO.

      To set the thickness of the material, I set the zmax = 0 and zmin using variables in a construction group. As I have things above the substrate, my convention is to set the surface to zero and the substrate is negative z.

      However, as the dipole can not be in a construction group, and as far as I am aware construction group setup can not access "global" variables I see no way I can set a single variable in the PSO and have the thickness set and dipole positioned correctly.

      Please tell me if I am wrong in thinking this.

      Many Thanks

      Cori

    • Guilin Sun
      Ansys Employee
      You are right that "construction group setup can not access "global" variables" and "the dipole can not be in a construction group". However the "model" can access all the objects, since it is the root. Please refer the replies in another post.
      Once the parameters are set in "model" or "analysis group", your PSO settings can access the "model" or the "analysis group", and any change of those parameters can change the object properties as you set in "model", or "analysis group".
      For example, in "model" you set DD as dipole distance to a surface from its "zmax", then you can use
      setnamed("dipole","z",zmax-DD);
      So when you change "zmax", the dipole location will automatically change due to the above script.
      In PSO, you set "zmax" to be optimized. (or its thickness but you will need to another script to convert thickness to zmax).
      Please note that, since you use "zmax" to optimize, you may not set its range begins from zero. It should be at least "DD" so that this layer has a thickness zmax-zmin>=DD.

    • Stealthbird97
      Subscriber
      Thanks for the response I did not think of "pushing" the variable values into the structure groups from the model setup instead of trying to "pull" them from the model variables to the structure group setup.
      Yes, I think I understand how to implement this.
      Probably good for future reference to include link to the other post /forum/discussion/35984/nesting-or-dependent-structure-groups
      The bandstructure examples https://support.lumerical.com/hc/en-us/articles/360042038213 were helpful.
    • Guilin Sun
      Ansys Employee
      Variables can only be pushed from root to branches, not the other way. The roof can access all the data from the branches, either the setting data, or the result.
Viewing 3 reply threads
  • The topic ‘Constraining dipole position to a structure group variable in particle swarm optimisations’ is closed to new replies.