Optical bistability question


I run tutorial files for optical bistability. However, the calculation result is different from it of website.

I think the code for removing high frequency components doesn’t work, which is

Ey_through_w = 2*((1:length(w))<=(length(w)/2+0.1))*fft(pinch(Ey),1,zero_pad);
Ey_through_t = invfft(pinch(Ey_through_w)*filter1);
Ey_through_t = Ey_through_t(1:length(t));
Esy_through_w = 2*((1:length(w))<=(length(w)/2+0.1))*fft(pinch(Esy),1,zero_pad);
Esy_through_t = invfft(pinch(Esy_through_w)*filter1);
Esy_through_t = Esy_through_t(1:length(t));

and the result of calculation of tutorial file is

, which is different from website result.

I also has another question.

In tutorial, a bistability property is considered in the structure composed of a waveguide and a resonator.
In this case, the one time monitor located in center of waveguide is enough to get the right result. However, in free space case, it shows very different result depends on the monitor location.

So, I set many time monitors like below picture and sum of the all electric field from monitors. And then take fourier transform. Is it right method?

To sum it up,

  1. The result of the bistability example is different from the result of web site.
  2. How can I calculate the reflected or transmitted electric field in free space case?

Thank you.

Dear @kimmh1028

The plots are fine, except that you need to modify the x-axis limits to be from 0.05-0.45 (either from script or visualizer). The filter is defined in script:

filter1 = 2*exp(-(w-w0)^2/(150e12)^2);

If you set the filter1 to 1, for example, you can actually see the unfiltered higher frequency data:

Regarding your second question: I am not quite sure about your application and if using time monitors in free space is a good idea to capture the bistability. If resonator and nonlinear material reflection is a function of angle, then you expect to get different results from time monitors. However, if you want to get reflection using time monitors, what you have set is correct.

Can you please provide more input on what you are trying to simulate? Do you have any papers or references that addresses the application?



Thank you for your a detailed reply.

About second question, reference paper: https://www.osapublishing.org/oe/abstract.cfm?uri=oe-17-26-23459
I don’t know setting many time monitors above of source to calculate reflection and sum all of results (electric field) of them.
By the way, although the transmission (|E_out/E_in|^2) is plotted as a function of input intensity (I_in) in tutorial, many other papers show optical bistability by plotting output intensity (I_out) as a function of input intensity (I_in).
How can I plot output intensity?

Thank you.

Dear @kimmh1028

Thank you for the link to the paper. I had a quick look at it and what you have set makes sense. If you have more information regarding the reflection angle and the shape of reflected light, you could probably use only a single monitor at the highest peak (same as KB example) and assume that it represents the total behavior. Maybe you can use profile monitors to study the reflection angle? Otherwise, if you do not have much information regarding the beam profile, you will need couple of time monitors to make sure that captured light in time monitors are representing the total field.

In FDTD the only monitor that captures the electric field in time is time monitor. Since in your simulation, you are using point time monitors, you can not extract the exact total transmitted power directly and I_out will be a position dependent. Maybe using a line (2D) time monitor for 2D (3D) simulations, respectively, will be a better idea so that you can capture all the reflected light with a single time monitor?

In KB example, we simplify the problem by assuming that intensity at the center of waveguide is representing the total behaviour. We could also plot I_out vs I_in as intensity is proportional to E^2 in the KB example

To summarize, Intensity can be calculated from electromagnetic fields:


However, if you want to calculate the output (input) intensity, please note that intensity might vary (a function of position) depending on the shape of the beam profile. In this case you need to be careful how you define intensity and you might need to use average intensity or power instead.

I hope my answer was clear but feel free to ask if you had further questions.