Resolve an error in script


#1

Hi, I want to run my simulation with and without cluster to compare data. in my script, first I run it without cluster,so I must disable particles but the simulator has an error in line 11. I don’t know how it gets solved.

Who can help me?
quadmer.fsp (265.5 KB)
quadmer.lsf (745 Bytes)

Regards.


#2

Hi @nahal

I have made a few changes in your script and it works now. Please see below for the modified code:

save("quadmer.fsp");

####################################################
# REFERENCE SIMULATION WITH BARE SURFACE:

save("quadmer_bare.fsp"); 
switchtolayout;

select("cluster");
set("enabled",0); #disable particles

#To speed up simulation, disable monitors that are not required
setnamed("bottom","enabled",0);
setnamed("top","enabled",0);
setnamed("pabs_adv","enabled",0);

run;

# absorbed power within Si substrate
absp_bare=-transmission("monitor_surface")-(-transmission("monitor_bottom"));
f=getdata("monitor_surface","f"); # frequency
nf=length(f);

####################################################
# SIMULATIONS WITH NANO-disk: 

switchtolayout;
select("cluster");
setnamed("cluster","enabled",1);
save("quadmer.fsp"); 

You can use setnamed("cluster","enabled",1); or select("cluster"); set("enabled",1); to enable the cluster. If you choose the value to be 0 instead of 1, then you can disable an object. Also, I changed profile-Si and reflection in your code with bottom and top to disable these two monitors.

I tired to run the simulations and I find that you have changed the auto shutoff min from Advanced options of Edit FDTD simulation window. One reason that your simulations doesn’t converge quickly is because you used a Plane wave source with PML boundary conditions. This might cause Edge effects that we have explained here. A good way to overcome the problem is to use Total-field scattered-field source instead of Plane wave source. Please note that the Total-field scattered-field source should not exceed your FDTD simulation region as are explained here and here.
I hope that this helps.


#3

Hi, thank you very much.
Indeed, I want to calculate IQE of this structure, so I’ve extracted my script file from https://kb.lumerical.com/en/index.html?solar_cells_plasmonic_at_normal_and_oblique_incidence.html, and altered it to be compatible with my new structure. In the main article, IQE=0.22 in 600 nm wavelength but by run the scrip file, amount of IQE has obtained much less than real amount. All values are given based on the paper except thickness of materials (SI,SiO2,nano disk)! because not mention in that paper.

May you please modified my script file to obtain real amount?
gold_heptamer.fsp (264.6 KB)
heptamer_plasmonics.lsf (2.4 KB)

Best Wishes.


#4

Hi @nahal
The original file in our KB runs a sweep over the radius of solar-cell and saves the transmission output as Ts and Tb. Please see the snapshot:

It looks like your file is missing the sweeping parameters. Also, the example in our KB page provides you with techniques on how to use the proper meshing and symmetries to increase the accuracy of result while the simulation times are still reasonable. These details can generally effect the results that you are looking for.
I hope this was helpful.


#5

Hi, thanks a lot.
I read and modify the simulation as you suggest. In my new file, I obtained IQE=0.00022, but I think it’s much less than real value in the paper(IQE=0.22).
indeed I want to obtain IQE like this:

(in the figure above, given numbers are the diameter of disks).

But my result is much less, I don’t know what is wrong in my simulation?

may you please take a look at my simulation and find my mistakes?
gold_heptamer-1.fsp (315.5 KB)

I will wait to your reply.
Best wishes.


#6

Dear @nahal

I will try to explain the parameters. You can finda description of the parameter by clicking here and then selecting methodology from the left hand side toolbar and choosing Quantities to calculate from FDTD simulation. For ease of access I copied a portion of the code that is the main focus of my response:

_line52:_ g_silver100=pinch(absp_metal(1:nf,1,1))/absp_bare(1:nf); # for silver sphere ... _line84_: IQE_bare = integrate(prod_bare,1,wl1); ... _line93_: IQE_silver100 = integrate(wl1*spline(qe0_silver100,wl_qe0,wl1)*ssp1,1,wl1); # for silver sphere ... _line98_: G_silver100 = IQE_silver100/IQE_bare;

Without going into the details of the script (which is out of the scope of this topic), g-silver100 calculates the enhancement in absorbed power compared to bare silicon with no nano metals. This enhancement factor is a function of wavelength, and for example has a peak of 1.25 at \lambda=0.46.

IQE is described as:

as you can see from the link I provided earlier. As you probably already noticed, IQE_bare and IQE_silver100 are not normalised here. Here we calculate only the numerator of IQE as the focus of the example was to calculate the enhancement in IQE when you are adding the metal particles. Basically G-silver100 gives you the enhancement in quantum efficiency when you add the nano-particles.

To summarise, in order, to calculate the quantum efficiency for this system, you need to normalise it. Just an initial guess might be to use this line of code:

IQE_norm = integrate(wl1*spline(qe0_silver100,wl_qe0,wl1)*ssp1,1,wl1)/integrate(wl1*ssp1,1,wl1);

I hope that this clarifies the script that we used.


#8