Observation of reflection with respect to pillar height




I am trying to optimize the pillar height, radius and pitch of the attached structure where it will have to show the minimum reflection and maximum absorption at the wavelength (350 to 900).

Sweep_Design.fsp (425.3 KB)

(1) If I want to sweep the pitch and observe the reflection at the wavelength (350nm to 900nm), do I need to take 2 pillars inside a unit cell?

In the website, they optimized a parameter( thickness of a material) with respect to reflection. The thickness that has the minimum reflection. But it has considered only one particular wavelength (like 550nm). But I want to have my answers like the one below.


Hi @sbs019

You can have only one unit cell, but you need to update the FDTD simulation span accordingly. This is because you are using periodic boundaries and periodicity will change for different pitch values.

You ca ndefine a new figure of merit (FOM) under model that calculates the average transmission and then feed it to optimization object. Please visit the link below for more details on this regard:
Broadband Reflection Optimization

Hope this was helpful.


Using FOM it only shows the mean transmission for an optimized thickness. How do I obtain a graph out of that? I want to obtain a graph that shows how the reflection changes with respect to height of the pillar (including z span1, z span2, z span3…three needs to change simultaneously).

Would you please briefly explain with some screen shots?


Please help me with how can I obtain a graph like the one I am attaching here. Optimization using FOM only shows a particular mean transmission for a particular thickness. How do I see a graph?


If I am not mistaken the left figure is just a plot of absorption versus pillar height and wavelength, i.e. there’s no optimizing going on in this plot. If that is all you need, to get the colour plot like this, you just run the sweep and then plot the result (right click on the sweep and click “visualize” and “R”). It’s not clear how the right graph is generated. Probably it is a plot of the maximum absorption for each pillar height. If true, you can either do this at the end once you’ve got the sweep results, or you may be able to calculate it as you are performing the sweep (by adding another parameter to the sweep results, which is the maximum of the reflection in your case).

Before all of that the first step is to get your sweep set up correctly. A tip for this is to right click on the sweep and select “animate”. Currently it is clear that nothing in your simulation changes as you sweep. The pillars are moving apart, yes, but that is all outside of the FDTD region, so these changes are having no affect on the FDTD region and every single sweep gives the same result. Probably what you want to do is to add a new parameter to the sweep, which is the FDTD span in the x direction. (So that the boundary of the FDTD region is always midway between pillars.) This will then keep the symmetry correct and give you the result you want.



Thank you for your reply.

I am having a problem with the variation of the height. I want to observe reflection with the variation of three micropillars simultaneously.

I have three properties (z_span1, z_span2, z_span3) for height of each three pillars. If I put on 3um for each of the pillars in the script (z_span1=3, z_span2=3, z_span3=3), unfortunately, in the geometrical structure of the pillars it appears to be 2.03 um instead of 3 um. In that case, the sweep of the pillars from 1 um to 3 um doesn’t seem to provide the result I am looking for.
I am attaching the file and the screenshots as well.


File: Sweep_Design_height.fsp (425.3 KB)

Would you please respond as quickly as possible? The position of the pillars are not the same as I have on my script. I want the z min of the three pillar to -0.53um, -0.43um and -0.33 um respectively and then the height increases and decreases with the z min fixed to that position.



Sorry, I have been absent and today is my first day back.
I am not sure if you attached the correct file, but all of the circle objects appear to have 3.0um span, so I am not sure what the problem about 2.03um is.
Some points:

  1. in the script it sets the “z span”, then the “z min” and then the “z max”. The fact that you specify the “z min” and “z max” means you overwrite the “z span”, so it does not matter at all what the z_span1 and z_span2 and z_span3 values are because they are never really used.
  2. There doesn’t seem to be much point to use a structure group in your current design because the FDTD region only covers one of these pillars. As things are you only need to make one pillar, so three simple circles of different materials and different materials. Like this file that I edited Sweep_Design_height_edit.fsp (328.0 KB) However, it depends what your future plans are for this simulation as to whether you need the structure group or not.
  3. In the “Edit Parameter Sweep” I often find it useful to switch from “Type: Ranges” to “Type: Values” to double check the settings are correct. It’s easy to make mistakes that mean you have sweeps like 1,1.111,2.222,3.333,… instead of 1,2,3,… Be a bit careful switching between the two though because I vaguely remember having trouble at one time with accidentally resetting the range. That was probably my user error though.


Sorry I have attached a wrong file. Here I wanted to keep all three pillars at a fixed z min and vary the z span. So that if I want to change the height of the pillar from 2 um to 3 um, the pillars remain at a fixed z min and change it’s z max to change the height. I am not sure how to do that.

Here is the file: Sweep_Design_height_post.fsp (425.0 KB)

Would you please help me in the script to design like this?


I am trying to obtain optical properties (Absoption, Reflection and Transmission) of a micropillar solar cell. Considering one pillar might not give a proper result I guess. I am confused about this.

I have been following this example given in the example : https://kb.lumerical.com/en/solar_cells_silicon_pillars.html

Please suggest me what FDTD simulation region should I consider obtaining the optical properties of this micropillar solar cell.

File: Sweep_Design_height_post.fsp (425.0 KB)


There are two ways to set the z properties. You either change z and z_span, or you change z_min and z_max. If you want to keep z_min constant and change z_max, you need to change z_max not z_span. This is not related to scripting, but a general property of the software. To check, draw a circle and edit its properties in the GUI. See what happens when you change z, z_span, z_min, and z_max. You want to edit your script from this
set("z span",z_span1);
to something like this
set("z max",z_max1);
and also change the user properties.

About your other question, you are better off getting an answer from somebody at Lumerical, but as I understand your file, at the moment the symmetry means that you are simulating an infinite array of pillars. (The single pillar within the FDTD region is “repeated” infinitely in both x and y directions.) If you want to simulate a single pillar, or a fixed number of pillars, e.g. 5 x 10, you need different boundary conditions and geometry.