Issues with simulation parameters



So I am simulating the effect that spherical particles made of Au spread evenly across a Si substrate has on the overall efficiency and Jsc of the cell, and relate that with the absorption, scattering and extinction spectra of that specific radius of particle. I placed monitors accordingly so that I can measure the absorption across both the particle array and the substrate, and the reflection as well. Using the data from the monitors, I plotted the graphs for all of the above against wavelength. The graph seemed fine up to a certain extent. However, after approximately 430nm wavelength mark, they begin to zigzag. Now, I know that I am doing something wrong with my simulation parameters, but can’t seem to pinpoint exactly what.

I have attached the fsp file and the graph. I am also providing the matlab code I used to analyze the data and generate the graphs.

FSP file:particle_20nm.fsp (300.5 KB)
The graph:

Au_abs=T_top_p - T_mid_p;
Si_abs=T_top_Si - T_mid_Si;
hold on
hold on
hold on
grid minor
title(‘Au 20nm Particle array’);
ylabel(‘Normalized Power’);
xlabel(‘Wavelength (nm)’);
legend(‘Absorption across Si’,‘Absorption across Array’,‘Reflection’,‘Transmission of source’);

Abnormal variation in absorption data in a plasmonic solar cell
Eliminate interference effects in solar cell

I think the oscillations in the spectra that you see at long wavelength are due to the empty space in the lower part of the FDTD region:

I am not sure if this space was included on purpose; in other words, is the thickness of the substrate important for your simulation? Note that the oscillations arise for wavelenghts comparable to the thickness of the substrate (0.6um in your original simulation). For such wavelengths, the light can “see” the thickness of the substrate and this leads to features in the spectra; therefore, the oscillations are not a numerical artifact.

Normally, one assumes that the substrate’s thickness is much larger than any wavelength of interest and so one can place the lower z boundary inside the substrate. Effectively, this means that the substrate is infinite in the negative z direction. The following plot shows a comparison between the two cases situations:

I modified you simulation file (see particle_20nm_nogap.fsp (321.5 KB) ) to simulate the situation where the substrate is infinite in the negative z direction. I made some changes to optimize the simulation. Note, for example, that you can use a mesh override region covering the nanosphere only, instead of covering the full simulation region; this change reduces the execution time and allows you to refine the grid only where it is needed. I suggest taking a look at the plasmonic solar cell example in the Knowledge base for more details.

Error: "The program must be terminated because of insufficient memory"

@fgomez I want to have some discussions with you regarding this topic please.
I am also facing the same problem as when I set the empty space in the lower part of the FDTD region as you illustrated in the first figure. Can you please explain me why it makes oscillation in the output?
In my simulation I want to place a monitor bellow the substrate to measure the transmission. So I have to include the empty space bellow the FDTD region. My substrate thickness is 1um. What should I do to avoid this problem?


@1130344 and @ariful:

The oscillations are the result of resonances from a Fabry-Perot like effect of the structure. A similar situation is discussed in this example of a planar silicon solar cell. To see the oscillations with better resolution you can increase the number of frequency points in the monitor or check the option “use linear wavelength spacing”. I did this in the attached file particle_20nm_gap.fsp (322.0 KB), and the results for the reflection spectrum look like this:

Since these oscillations have a physical origin, removing them would require a change in the actual structure.


Thanks for the discussion.


Thank you so much. This has been of great help.