How much time should be simulated in optical bistability?



I designed a structure which includes photonic crystal and graphene as a nonlinear material. I want to study about optical bistability of the structure but I have a problem about time of simulation.
for example, when I want to obtain the transmission for 5MW/cm2 (light intensity), I should do simulation by 4 Picosecond time due to achieve a stable situation. so I will find one point of the plot of transmission versus light intensity, by simulating the 4ps time.
If I want to study on bistability, for example, drawing this plot:

How much time should be simulated? What parameters does this time depend on?


Hi Moslem,

The approach for getting the bistability loop shown in the image above is different from what we usually do in FDTD simulations. Normally, if you want to find the transmission spectrum you excite the system with a pulse and then you wait until the fields inside the simulation window have decreased enough so that you can get the frequency-domain data. In this case, the simulation time should be set to a value that is large enough.

For bistability phenomena the response of the system depends on the previous history of the system; therefore, we need to use the custom time signal instead of the regular pulse signal used by FDTD. For example, in the “forward” simulation the signal is oscillating with a given carrier frequency and an increasing amplitude, as shown below:

The sources for increasing and decresaing amplitudes are set using a script:

To extract the bistability factor (ratio betwen the input and output field intensities) we use two time monitors and we need to post-process the data to remove the high frequency components due to the sudden turn-on and turn-off of the source so that we get cleaner data for the desired carrier frequency. This is also done with a script:

Hope this helps!


How much should this time be large?
Thank you for helping,


Hi Moslem,

The time for the increase and decrease of the fields depends on the system. It should be slow enough so that the system can follow the upper and lower branches of the bistability loop. You don’t want to make it too slow either because that means a longer simulation time, of course.


But when I use slow time, the result changes. why?

Which time is correct?


It looks like as you increase the simulation time the curves get closer to each other. This is expected since you are getting closer to the adiabatic response. If you keep increasing the simulation time I would expect that at some point there will be no significant change in the response, this is the point where you have reached adiabaticity and this would be an appropriate simulation time to calculate the bistabilty loop.

You can see this behavior in the optical bistability example by changing the simulation time (originally 15.5ps). As you increase the simulation time, the change in the branches of the bistability loop decreases. Also, as the adiabaticity is achieved the branches for increasing and decreasing intensity overlap better before and after the loop.


HI i also make optical bistability,i have met with some troubles,can not get correct bistable graph,do you knoe how to get it?my simulation is always diverged