## Photonics

#### FDTD: Implementing Nonlinearities via Coupled Linear Simulations

Tagged:

• mnielsen
Subscriber

Is there an example script of implementing optical nonlinearities via coupled linear simulations? For some nonlinear material plugins, especially if off-axis susceptibilities are considered, the simulations are extremely unstable.

In such a method, one would, using a weak- scattering (undepleted pump) approximation, do two linear calculations. First, using a linear calculation with the desired source to get the incident electric field in the nonlinear material. Then, multiply that field by the nonlinear susceptibility (which may contain off axis components) to get the nonlinear polarization. Finally, use this polarization as a source at the new frequency, a second linear calculations would be done.

While conceptually easy, it would be great to see if this has ever been implemented via an example in Lumerical to help get started.

• Taylor Robertson
Ansys Employee

Sounds like an interesting and worthwhile project, It seems feasible technically feasible but I don't know enough to say anything about validity of the approach. First off, not to be too precise, I don't believe that you can do truly coupled linear simulations; however, the sequential approach you have described should be supported. That being said you will be ignoring some feedback that may or may not be important. To be more accurate you may be able to consider them independent, using the output of one as the input of the other, then vice versa. For more confidence iterate until they become consistent with each other. In this context I am unfamiliar with exactly how to do this, considering the temporal and coherent effects. To take a simpler example like thermal heating, you could look at the field profile. Convert this to a temperature, then find out how that changes the material properties. Then look at the optics again, measure the fields and see how the temperature would differ. Continue doing this until the updated field profile doesn't change the temperature of the previous iteration.
This all assumes you can set up the nonlinear polarization as a source? We do not have a 3D import source so would need to define this nonlinear source in a plane which may not make sense for the configuration you envision. Alternatively you could approximate nonlinear polarization source as an array of coherent point sources. The conversion from linear to nonlinear polarization would be something you would need to script yourself. This example show how to bring that result into a secondary simulation as you described.
https://support.lumerical.com/hc/en-us/articles/360034383014-Import-source-Simulation-object
https://support.lumerical.com/hc/en-us/articles/360034383034
Best Regards