Photonics

Photonics

Topics related to Lumerical and more.

How can I modify FDTD variable with script while program running?

    • Jordi Lopez Leyva
      Subscriber

      Every 500fs, I want to change the refractive index manually in FDTD and then resume the simulation. How could I do this?

    • Afroditi Petropoulou
      Ansys Employee

      Dear Jordi,

      I am afraid that there is no way to change simulation parameters while the simulation is running. Even if you stop and try to resume the simulation, it will not be successfully resumed if you have changed the simulation settings/parameters.

      Could you please describe the application to check whether there is anything else you could do?

       

      Best regards,

      Afroditi

      • Jordi Lopez Leyva
        Subscriber

        Hi Afroditi,

        I want to compute the carrier excitation from trap states to conduction band due to optical excitation, let carriers drift/diffuse, and then recombine

        I'm implementing this by computing average E field in FDTD, then compute the carrier excitation with analytical formulas, then I import the generation into CHARGE, and let carrier diffuse. However, I don't know how to implement the recombination from my analytical formula.

        My formula is dNd_ion/dt=(s*I+b)*(Nd-Nd_ion)-gamma*free carrier density*Nd_ion, where first part represents the generation and second part recombination which I apply after generation stoppped, Nd is the donor density and Nd_ion is ionized donor density, I is intensity, rest are constants.

        Do you think there could be a different approach to my problem?

    • Afroditi Petropoulou
      Ansys Employee

      Dear Jordi,

      Thank you for the additional information.

      Could you please explain to me in which step of your workflow you need to change the refractive index in FDTD and why?

      Best regards,

      Afroditi

      • Jordi Lopez Leyva
        Subscriber

        Hi Afriditi,

        Apologies, I forgot to add that part. In FDTD, I'm using non-diagonal anisotropy of my material GaAs. Since Chi2 calculations are not possible with Lumerical with this anisotropy, I'm currently calculating the analytical refractive index change manually by taking the average E field and calculating refractive index with n1=Sqrt[2/3]*n0^3*r41*E.

        The issue is that I'm only doing this once. I'd be interested in seeing the decay in Pockels effect n1, which requires multiple calculations instead of 1 which I'm currently doing. So I'd like to do this in FDTD before doing anything with carriers, by using the average E field every 500fs. The reason I want to there during the simulation time is because I'm using a resonator, and changing the refractive index will change confinement dynamically.


    • Afroditi Petropoulou
      Ansys Employee

      Dear Jordi,

       

      Ok, I see the issue. Unfortunately, I cannot think of a workaround to overcome this since you cannot modify the simulation parameters while the simulation is running.

      When you say that the material that you are using is anisotropic, do you mean that its permittivity tensor is not diagonal in any principle coordinate frame X,Y,Z or it is diagonal but rotated?

       

      Best regards,

      Afroditi

    • Jordi Lopez Leyva
      Subscriber

      Dear Afroditi,

      Thank you for letting me know.

      My material is 111 GaAs, which has rotated permitivity respect to 001. I believe the 001 is diagonal, and thus the rotated 111 can be implemented in Lumerical, but I'm not sure how to verify the validity of my results if I were to do so. I'm trying to see the change in refractive index at sufficiently high powers with the refractive index monitor, but no change is obersvable (rotated and unrotated). Is it because this monitor can't display RI profile due to Chi2 in FDTD?

    • Afroditi Petropoulou
      Ansys Employee

      Dear Jordi,

      You will not be able to see the changes using the index monitor. If your material’s permittivity tensor is diagonal, you can try to use a chi2 material with and without Permittivity Rotation - Simulation object – Ansys Optics.

      If you inject x-polarized light and your chi2 material is not rotated, using a monitor on the material you will see that the light will remain x-polarized (if you check the E field x, y and z components). If you rotate the material using the Permittivity Rotation - Simulation object – Ansys Optics, and check the y and z components of the E field, they should now be non-zero.

      Furthermore, for changing the index while the simulation is running, you could also check the material plugin used in the step index example in Advanced and custom optical material models in FDTD and MODE – Ansys Optics. I am not sure if this is suitable for your case though.

      Best regards,

      Afroditi

Viewing 5 reply threads
  • The topic ‘How can I modify FDTD variable with script while program running?’ is closed to new replies.