photonic array of nanoparticles calculation of absrobance spectrum



I am trying to simulate my expt results of a array of nanoparticles…to calculate the absorbance spectrum…i have us4ed PBC in both x and y direction…the array is 350 nm square lattice with particle size varying between 160-200 nm…the particles are embedded in the polymer matrix (r.i 1.45) and the substrate is glass …can anyone help me to simulate it? thinking about the simulation region and mesh…

Plasmonic effect of metal nanoparticles

Hi Tapajyoti,

Using periodic boundaries in the x and y directions and PML absorbing boundaries in the z direction would be correct. In the simulation region, you can include an area containing several periods of the device with different particle sizes representative of the range of particle sizes in a sample area of the structure in your experiment, and using periodic boundaries will give a result as though the structure inside the simulation region is repeated infinitely in the x and y directions.

To ensure that the nanoparticles which are embedded in a polymer material are included in the simulation, you can set the mesh order of the objects.

I would recommend taking a look at the plasmonic solar cell example which shows how to get calculate the absorption spectrum for a structure with an array of metal nanoparticles on a silicon substrate.

For tips about the simulation setup including meshing, I would recommend this video on simulating plasmonic devices:

I hope this helps!


If the nanoparticles are embedded in the polymer what mesh order should I choose?


se changed unit cell 165nm.fsp (4.4 MB)
Could you please have a look on the file I uploaded?
I took the help from array of nanoholes in the website…on gold films…where in the array of nanoholes i put the nanoparticles and the film i put my polymer…but the surce direction is top…i.e. through glas i suppose…how could i change it i the other direction?..if i do that then the spectrum doesnot show anything…


Hi Tapajyoti,

With the simulation file which you provided, the rectangular nanoparticles have the same mesh order as the material that they are embedded in, but they are being simulated since they are lower down in the list in the Objects Tree, and using the index monitor you can check the structure. To ensure that even if you change the order of the objects in the list that the nanoparticles are still included, I would recommend setting the mesh order of the nanoparticles to 1.

In order to have the source incident from the air above the structure, you can move the z-position of the source, and edit the source direction to “Backward”. When the source direction is set to “Forward”, this means that the light will be injected in the positive axis direction (so the positive z-direction in this case), and “Backward” will mean that the light will be injected towards the negative z-direction.

I have made these changes in the following file:
modified_se changed unit cell 165nm.fsp (269.9 KB)

I also made a couple of other changes - since it looks like you are trying to simulate an array of objects with a period of 0.365 um, the span of the simulation region in each periodic direction should be an integer multiple of the period of the array. I set the span to include exactly 2 unit cells in each direction so 4 unit cells of the array are included in the simulation region, however you can also simulate just 1 unit cell and get equivalent reflection and transmission results. I also changed the mesh refinement method from conformal variant 2 to conformal variant 0 since conformal variant 0 is more stable.

For more accurate results, you may also want to use mesh override regions over the nanoparticles to ensure that the dimensions of the nanoparticles are resolved accurately.


How do I save the electric field plots in form of text?..mapping for example…or convert into some matlab file…and plot there…or in origin?


If you would like to plot the data in Matlab, the simplest way would be plot the monitor data in the visualizer, then click on the “Plot in Matlab” button as shown in the following post:

If you would like to get the text file, then you can use the “Export to…” button on the right hand side of the visualizer which is circled in the image below which will allow you to export the data to a text file:

Here is a good video which demonstrates the visualizer capabilities in more detail:

You can also export the monitor data to a text file by using script commands. The tutorials linked below show how to collect the monitor data after running the simulation, and how to export collected data to a text file: