Graphene + MoS2 Heterostructure Modelling



Up to now, I used the 2D surface conductivity model of graphene extensively in my simulations and I am pretty comfortable with it.

Then, I wanted to try MoS2 instead of graphene, but realized that there is no 2D model of MoS2 documented by Lumerical. So, I picked the permittivity values from this post, 2d material reflection, and then converted the permittivity to conductivity by using

I specified the MoS2 layer thickness as 0.615 nm. After that I simulated the monolayer MoS2 alone and its reflection,transmission, absorption spectrums with the 2D and 3D models revealed identical. So, I continued all of my simulations with the 2D model of MoS2. When I tried to switch back to 3D model of MoS2 for confirmation, 1.5 hours of max.time remaining became 200 hours (thickness/6 mesh override on MoS2).

Now, I need to put MoS2 on top of graphene. I would strongly prefer using the 2D models as they reduce the simulation times immensely. I tried to put graphene and MoS2 to the same vertical location (similar to putting 2D rectangles at the boundaries of objects) and see the absorption but it was identical to that of MoS2.

So, my question is, is there any way to efficiently put MoS2 on top of graphene?



Hi @e193254

Than you for a detailed inquiry. Can you please share simulation file and material models for the graphene and MoS2 models?

I do not have a clear answer for you now, but I can try and see if it is possible to perform such a simulation by displacing their positions or if I can come up with a workaround.


Hello @bkhanaliloo,

Thank you for your reply. I am sharing the simulation files, as attachments.

grapheneposition.lsf (1.3 KB)
Mos2 3d graphene 2d.fsp (363.3 KB)
Mos2 graphene.fsp (368.3 KB) Both MoS2 and graphene are 2D in this case.

The script is for sweeping the relative position of graphene with respect to 2D MoS2 sheet.

Some updates… I tried to model MoS2 as an 3D material and graphene as 2D. Then, I placed graphene right where MoS2 is terminated similar to how I use graphene in my normal simulations, and the absorption spectrum is NOT identical to that of MoS2, graphene surely has an effect. This I guess is the safest model to use, although it is slow.

However, I also tried out a few more in modelling both as 2D materials. Interestingly, I observed that when the distance between the 2D rectanges is larger than about 20nm, then the response is no longer that of MoS2 only. So, when using both in 2D, should I use a very fine dz mesh to cover both MoS2 and graphene? Was dz meshing my initial problem?

mos2singlelayer 3D.fsp (371.5 KB)
mos2singlelayer 2D.fsp (369.6 KB)

These are the models for MoS2 only. Although this is not critical (it is outside of my frequency range of interest) I could not understand why the perfect match in the absorption spectrum is lost below 400nm. I see that the fits for 3D and 2D cases use different number of coefficients, why is that?

I am grateful for your time and consideration.


Hi @e193254

Thank you very much for sharing your files with us.

I discussed the case of having two 2D materials with our R&D and he raised interesting concerns. The main problem here is that if they are located in the same position, one of them will be ignored (which I checked and seems to be the case). To solve this issue, one may come up with artificially adding a gap or displacing them. This might be questionable as adding a gap can cause a Fabry-Perot type behavior. While we may try to refine the mesh grids and reduce the gap size (so that gap size ->0), there will be no benefit compared to graphene + 3D MoS2 case as they will require same number of mesh cells.

So I guess the best option would be to use 2D graphene + 3D MoS2. For the current simulation file, since the structure is uniform along the x- and y-directions, you could basically run a 1D simulations by having only one mesh cell along the xy plane. You could also reduce the z-span (starting with leaving half the wavelength between PML and edge of the objects and increasing the span if it was necessary) and being the source closer to structure to save light travel time.

Please let me know of your thoughts.


Dear @bkhanaliloo ,

Since getting results with both Mos2 and graphene 2D models requires very fine meshing, it becomes the same case as using MoS2 as 3D and graphene as 2D, and I am optimizing my main design according to that.

The only thing I would like to now is, 2 meshes in the 0.615nm thick MoS2 is enough for reliable results ? I would be grateful if you can help me in doing convergence testing with changed MoS2 meshing. I tried it myself by looking at convergence testing KB page, but could not understand much from that page.

Finally, it is always said that at least half wavelength is needed between the structure and PML. How about the distance between the source and the structure ? Is there a minimum or maximum distance ?



Hi @e193254

It is good to start with having three mesh cells in the 3D MoS2 layer. Then, as part of convergence, you can increase the number of mesh cells. The idea behind the convergence testing is that your results need to converge by increasing mesh cells or any other reasonable test which are mentioned in the KB page.

You can bring the source very close to the geometry and leave only a few mesh cells in between (source area is shown by white box and should not overlap with the geometry). Bringing source closer to geometry is quite useful as you save light travel time.


Hello @bkhanaliloo

Thanks for the advices. My main simulations with 3 cells in MoS2 take close to 5 hours, but with 1.5 mesh it takes only 1.5 hours. Since I do not know about convergence testing, I just simulated both cases and compared the results and they were close enough to each other.

The following will be a different but related question on the topic. In the 2D model of graphene, the default chemical potential of graphene is set as 0.64 eV.

I researched the Lumerical article on graphene surface conductivity model, but could not find about:

If it means the Fermi level, where is it referenced to, for example, to the Dirac point? I mean, does a chemical potential of zero means pristine (undoped) graphene. I also saw that it cannot be made below zero. So, how can I model an n-type or p-type graphene?

Thank you for your help.


Hi @e193254

That’s good news. Again, the purpose of convergence testing is to make sure that results converge as you refine the mesh.

A chemical potential of zero means that the graphene is not doped. You can read more about the fermi levels in the link below:

Since the structure is symmetric, I think that results of n- and p-doping will be the same. In another words, you can use positive chemical potential for the same amount of n- and p-doping for optical simulations.

Please let me know of your thoughts and share your references with me if you have any concerns.

Using negative chemical potential of graphene