Dispersion relation of a nanosphere



Hello, could you please help with the following?
I am a student and I just started using Lumerical 3 weeks ago. I am making different simulations of the interaction between a plan wave and an isolated gold nanoparticle (cross sections, etc…) surrounded by a dielectric medium (with an index of 1.5), as well as in the case of spherical gol nanoparticles’ arrays.
I would like to plot the dispersion relation (i.e. omega vs wave vector) in Lumerical and I do not how to do it… I have been trying with bandstructure analysis group, though I did not get to simulate the dispersion curve.
I share my simulation file in the case of a nanodisk.test_20180613_2_isolateddisk.fsp (370.7 KB)

Thanks in advance.


Hi @uarregui005

To calculate the dispersion, you need to calculate the bandstructure. The details as well as a couple of application examples can be found in the links below:


There are two points to mention here:

  1. Your structure has to be periodic otherwise you cannot define bandstructures for a single cylinder:

  2. We use dipole sources to make sure that we are exciting all the modes. TFSF is used to calculate scattering and absorption cross sections, and may not be suitable for bandstructure calculations.


Hi @bkhanaliloo thanks a lot for your reply.

I have read the links you passed me and I think I have done some improvements in my file. Specifically, I have based on the 2D square example that is available on your website. Nevertheless, I run the parameter sweep and the simulation does not run properly. Could you please tell me what’s missing or wrong in my file? I attach it together with this message.
Besides, I have got another simple question; why do we have to do a sweep for kx and another one for ky? Isn’t it possible to make just a sweep for k (the latter being the module of the incident wavevector)?
Thanks a lot in advance.
array_disk_L_k_sweep.fsp (326.1 KB)


Sorry, I am not sure if I have attached correctly my simulation file. Just in case, I attach it once more in this message.
Sorry for the incoveniences.array_disk_L_k_sweep.fsp (326.1 KB)


Hi @uarregui005

For a 2D periodic structure, you need to run a sweep over both kx and ky to obtain the complete bandstructure on the Brillouin zone. When you are changing both kx and ky, you are looking at only M-Gamma band. If your structure was periodic only in 1D, then you could simply sweep over only kx values.

Can you please elaborate what was the problem in your simulations? I can run the sweep without any problem. Some of the details in methodology section can be helpful to debug your problem.


Hi @bkhanaliloo
Thanks once again for your reply.
The problem of my simulation is that the dispersion relation I obtain does not correspond to what theory predicts. This is what I get, for example, for the X-Gamma direction:
However, theoretically we should get something similar to what is mentioned in this article: https://en.wikipedia.org/wiki/Surface_plasmon_polariton
What could be wrong? I attach to this message the simulation file with all the parameter sweeps included.
array_disk_L_k_sweep.fsp (1.2 MB)

Thank you in advance.


Hi @uarregui005

Judging from your simulation file, I think you are looking to for simulations similar to the one in the link below:

You should be able to adjust the simulation file and run it for your purposes.

The bandstructure of surface plasmon is also discussed in the link below:
Bandstructure calculation for surface plasmons

Please take a look at it and let me know if you have any further questions.


Hi @bkhanaliloo
I have been analyzing the theoretical meaning of what I am supposed to get in the bandstructures’ plot.
I was wrong in my last reply, because the article I shared with you wasn’t speaking about the dispersion relation I am in fact looking for. In this way, this is what I am supposed to achieve with Lumerical bandstructure analysis (I am just focusing on the case of the RAs and their dispersion relation that is defined in the (2) equation): oe-17-4-2334.pdf (922.4 KB)

When I plot this dispersion relation using that (2) equation I get something similar to this (I just plotted some of the diffraction orders):

Nevertheless, when running my simulation of the nanodisks’ array, I continue getting just some horizontal lines in the bandstructure plot (just the same plot I shared on my last reply…), instead of the bands of the image above. Here is my simulation file (I have made some small changes regarding array period and disks’ height…): array_disk_20180724.fsp (1.2 MB)

I don’t really see what could be the problem because I just based on the files and Lumerical links you sent me in order to design my file… I would be really thankful if you helped me with it.

Thanks a lot in advance.


Hi @uarregui005

There are a few issues with your simulation file:

  1. While you started from the linked application example, you need to modify the scripts under model for your simulations. For example, you do not havethe rect_pc object and I have commented out that line:

  2. For the Bloch boundary conditions make sure to uncheck the set based on source angle box and set the bloch units to SI:

Since your simulation could not update the kx and ky values, you were getting a flat line.

Please modify it and run your sweeps.

Hope this solves the problem.