How to simulate the electric-optical modulator using FDTD solution

Dear all,
I am trying to simulate optical modulator(This case:, I need to compute the loss at the end of the waveguide. Thus, I want to use FDTD to add monitors to test the transmission. At begin, I used 2D graphene to do it, but I found the losses were same between max absorption and min absorption. What’s the reason? Can I continue to use 2D graphene model?

Dear Wang,
Nice to E-meet you.
I suggest that you check adding a fine mesh around the graphene layer. Make sure you copied the meshes together with the structure from the FDE to FDTD. Feel free to upload your file. I worked on similar problems and can help you.

1 Like

I used 3D graphene to calculate the optical modulator. But I found the losses was a small difference between max-absorption and min-absorption than the example: Could please help me to check it? PS: I import some data using “3D sample data” to define graphene material. kx2381.lsf (487 Bytes)
volumeG-max.fsp (449.2 KB)

The file volumeG-max.fsp I uploaded has an issue, which the transmission will be larger than 1 when I used metal boundary. however, if I used PML boundary, the losses between max and min absorption have only 0.004dB/um difference. Why do we meet these problems? Could you please help me to check it? Thank you!

Sorry for the later reply. I have a basic question: Why don’t you use the 2D graphene model? It is convenient for 3D simulations too.
I checked your simulation file. To make sure I got it right, do you use another imported data set for graphene of min absorption? I can’t make the comparison because I don’t have the data for min absorption.
I visulized your data as follows and the imag. part is quite high so it should be absorbing. This is what you want, right?

Using Metal BC causes refllections and that’s why you have transmission >1
I noticed that the source is very small so I will widen it and check if the correct mode exist in presence of the graphene layer. I will get back to you soon.

I have used 2D graphene, but the absorption depth of graphene is zero, which means I cannot measure the difference between max absorption and min absorption. For the data for min absorption, here it is permittivity_data_1eV.txt (54.8 KB)
Thank you!

I also tried 3d graphene, and I found a strange thing with the different thickness of graphene. 20nm graphene has a decay along the propagating way, but 1 nm graphene doesn’t have. This picture is for 1 nm graphene:
And this picture is for 20nm graphene:


I have a couple of comments:

  • If you decide to use the 3D bulk permittivity model for graphene it is important to make sure you have enough mesh points inside graphene along the direction normal to the surface. This is one of the disadvantages of this model: since graphene is very thin you need to use a small thickness, which requires a very fine mesh. In the file you attached (volumeG-max.fsp) you only have two mesh points inside graphene along the z direction; this is probably not enough to get good results.
  • The other disadvantage of the bulk model is that you need to check the convergence of your results as you reduce the graphene thickness. You should see that reducing the thickness does not change your results after some point; this usually happens at some thickness value larger than the actual thickness of graphene (depending on the wavelength used).
  • In principle, the permittivity of graphene depends on the thickness as explained here. Again, the response of graphene should be independent of the thickness you use when the thickness is small enough.

Given these disadvantages of the 3D bulk permittivity method I strongly suggest using the 2D surface conductivity model. One possible reason for the low loss you are getting is that the section covered by graphene is not very long; it is 3 microns long (compare with the 40um long region used in the graphene EOM example). I added a mode expansion monitor in the graphene region in your simulation (volumeG-max_modFG.fsp (1.9 MB)) to check the loss for the 2D material “graphene-max” and it was ~1047.9 dB/cm, which is about the same as for the maximum absorption state in the KB example. This suggests that graphene has the right loss, but maybe the region covered by it is too short.

Hope this helps!

Thank you for your reply. Maybe the loss was large when we measure a 2D cross section for 2D graphene, but the transmission through the whole waveguide is still too large so that the loss is still small for this waveguide.

I need the losses at the end of the waveguide.

@fgomez I strongly think there is some issue with Lumerical. We used 2D graphene to measure the waveguide with FDTD solution, but the losses with different Fermi level of graphene are still smaller than the paper’s results with MODE solution. It shouldn’t be like that. Please help us to check if there is some issue with FDTDsolution for lumerical in our case. We have suspended this case because of this issue. We are looking forward to your reply. Thank you.


Sorry for the wait. In the MODE simulation described in this KB example, we got a maximum loss of 0.117 dB/um, which is close to the reported modulation depth of ~0.1dB/um. The mode expansion monitor in your FDTD simulation reports a similar value of 0.105 dB/um so I think there is no problem with the graphene loss. Note that in the paper used to validate the results in the KB example the graphene length is 40um, not 3 um as in your simulation, so the transmission loss in your structure will be significantly less.

Could you please don’t use mode expansion monitor at the middle of the waveguide. Please check the transmission at the end of monitor.max-metal.fsp (993.1 KB)
The loss is very small.

I know when I used mode expansion monitor to get the right results, but we really need to use the transmission through the whole waveguide to measure the loss (Loss = (1-T)/L). So please check that . The two results cannot match.

@fgomez I also use Loss = -1/L*ln(Pend/Pbegin)kx2381.lsf (491 Bytes)
I just got the loss is 0.03dB/um for max absorption and 0.004dB/um for min absorption. They all smaller than the KB example. Please explane this situation. Thanks!


Sorry for the wait. I checked one of the previous files we were discussing where a 2D graphene sheet 3um long was used. I used two power monitors, one at the start and one at the end of the graphene sheet, in order to measure the loss in dB/um defined as:

loss = -10*log10(T_end/T_start) / L

where T_end and T_start are the transmission values and L is the length of the graphene sheet (3 microns in this case).

I got results close to those from the mode expansion monitor:

Please take a look at these files: volumeG-max_modFG (2).fsp (1.9 MB), loss_EOM.lsf (217 Bytes). I think the reason why you are getting smaller values for loss is because in your expression you forgot to multiply by 10 to get loss in dB (also note that you should use log10 instead of ln).

One final note: I changed the metal boundary conditions to PML because there will probably be fields scattered out of the waveguide when the fields move from the region without graphene to the region with graphene and viceversa. This improves the convergence: the autoshutoff level decreases nicely and reaches the minimum 1e-5.

Did you check the minimum absorption of graphene? What’s the loss on min state? Does it can reach to the 0.01dB/um?

Ok, I get it. Thank you so much! I really appreciate it.

I also have another question. Does the loss can be defined as L = 10*log10(Power1/Power0). Does it means the transmission of the monitor is power?


To answer your latest questions:

I didn’t try it but it should work. Let me know if it doesn’t.

Yes, this is the definition of loss in dB. Just include a minus sign to get a positive number.

Yes, transmission is the amount of power transmitted through the monitor normalized to the source power.

1 Like