Modify script file to obtain more results



For the example provided in the Knowledge Base titled ‘Plasmonic solar cell at normal and oblique incidence’, I wish to obtain the data for Au and Ag nanospheres of diameter of 50nm. However, I’m finding it extremely difficult to modify the script file to do so.
I also do not understand how the following lines work:


Furthermore, how does the script calculates the g(lambda) enhancement factor for the different diameters.



What kind of data for the nanospheres do you want to obtain? The fields inside?

Regarding your second question:

The purpose of these lines in the script file solar_plasmonics_normal_qe.lsf (3.5 KB) is to collect the results from the sweep over the nanosphere material and radius:

Ts and Tb are the transmission through the monitors on the surface and at the bottom of the silicon substrate, respectively. The difference between the transmitted power gives you the power absorbed in the region between the two monitors.

For the calculation of the g(lambda) enhancement factor you need to calculate the ratio between the absorbed power with and without spheres. That is why the script sets up and runs a simulation without the spheres first and then adds the different types of spheres. Also, note that the data for the absorbed power for different diameters and materials is stored in the array absp_metal obtained from the sweep. This array has three dimensions: the first one for the frequencies, the second one for the radius and the third one for the material. Therefore, absp_metal(1:nf,1,1) access the data for all frequencies (indices 1 to nf of the first dimension), the radius 50nm (index 1 of the second dimension) and silver material (index 1 of the third dimension). The script command pinch is used to remove singleton dimensions after this extraction.

The section “Quantities to calculate from FDTD simulation” in the Methodology page describes the g(lambda) factor and other quantities of interest.

Hope this helps.