Simulating temperature profile around spherical nanoparticles with Device


Hi, I was trying to modify the example of photo thermal heating in plasmonic nanostructure. I have made the following modifications:

  1. I have disabled all the nano antennas and replaced them by a single spherical gold nanoparticle with a diameter of 50 nm

  2. The incident field range from 400nm to 700 nm

  3. I got the absorption peak at around 506 nm

  4. I changed the incident field again to 506 and run the analysis and saved the pabs.

  5. I opened the .dev file and the loaded the new heat source and changed the structure of the diabolo antenna to the single spherical nanoparticle.

However, I got the message attached in the image above about a PLC error which I am not familiar with.

Could you please help on this matter?

I just need to simulate the temperature profile around a single spherical nanoparticle with different laser power intensities could you help on this please?

I could have uploaded the file that I created, but it is nothing other than disabling the array structures from the examples and put my nanoparticle instead.




Hi Ali, looks like the problem is due to error in geometry building (discussed here: As explained in the post this issue sometimes happens in DEVICE for 3D simulation with spheres. You may try to use some overlapping between the sphere and the substrate to see if that helps. Also try simulating a quarter of the structure (using symmetry). If nothing helps then an extreme solution could be to replace the sphere with a rectangle. The shape of the nanoparticle while important in the optical simulation is less significant in the thermal case which may allow us to do such a simplification.


Thank you very much Aalam,

I overlapped the sphere with the substrate and that solved the current problem.



diabolo_array.fsp (308.3 KB)
Pabs_diabolo_array_1mW.mat (46.4 KB)
Hi Aalam,
I have tried to modify the diablo example to put only spherical gold nanoparticle (diameter 40 nm ) instead of the array and to measure the temperature distribution as a function of input laser intensity exactly like in the example.
I have modified the focus spot to be 3.88 microns instead of 19.5 microns and used your method to see how many nanoparticles that would cover, and I calculated it about 7389 nanoparticles, right? and I then changed the power in the analysis group to 1/7389 mW and that is 1.35e-7 W.
I loaded the power absorbed in the .ldev file which I could not upload here because it is large, but I just disabled the diabolos and put a single spherical nanoparticle as well and ran the simulation.

The change in the temperature was very low in my case and I think I made few mistakes and I do not know where, but definitely in the script where I did not understand how you obtained the increment equation of (0.0401(Tsim-300) and I do not know how that fit in my example
I would really really appreciate your help. Please see the attached file.



Hi Ali,

My apologies for the late reply. I believe the error is coming from the number of antennas in your focal spot. If you are assuming a that your optical input has a FWHM of 3.88 microns then for a period of 0.34 micron in both x and y direction results in about 102 antennas in that area. This means that the power in your analysis group should be 1/102 mW or 9.8e-6 W. When I use the Pabs data saved by this new input power and use a scaling factor of 55 (corresponds to 55 mW input) the temperature rise is equal to about 230 degrees which seems reasonable.

The reason we used the scaling factor of 0.04 is because we assumed that the center of the substrate is getting heated up by the laser (an area equal to the beam width) and the rest of the substrate is at room temperature. So the average temperature of the substrate would be a weighted average of the two. Since the area of the heated spot (pi/4*19.5^2) is abut 0.04 times the area of the substrate (85^2), we used the scaling factor of ~0.04 to relate the average temperature with the temperature of the unit cell.


Hi aalam,

Thanks for the reply. Yes I got it now.