Reflectance for random pyramid structure - solar cell


Hi there,
I’m new to Lumerical and trying to evaluate capabilities.
A silicon solar cell is usually textured with a random array of 0.5-3 micron upright pyramids. I am looking to simulate the structure from the visible, preferably through to the IR (eg. 1-10 micron plane wave illumination at normal incidence). Depending on mesh settings, source parameters, and feature size, I can generate a wide variety of different outcomes; many of them are not physical.
Can anyone take a look at this file and help with some tips to make the simulation somewhat stable while maintaining a reasonable computation time. Note that in the solar cell simulation community, this problem would normally be solved with geometric optics, but given my interest in the IR behaviour, I’m hoping to arrive at a reasonable FDTD wave optical simulation.
(Not) working file is here:


Uploading the file directly. Appreciate any help.RanUprPyr-Si-RanUprPyr.fsp (6.0 MB)


Hi @simeon,

I had a look at your file, and the first issue I can see is the boundary conditions: you are using symmetric BC for both x and y, it is not compatible with the polarization of the source. You should set x to anti-symmetric. You can find more information about the symmetric/anti-symmetric BC on the Knowledge Base.

An easy way to remember which BC to use depending on the polarization of the source is to use the colours: the E field (blue arrow on the source object) cannot be parallel to the anti-symmetric BC (green region):

That said, there’s other potential problems in the simulation:

  • The structure is random array of pyramids, but the simulation is periodic, with a fairly small period, and possible discontinuities of the structure at the BC. For such random distribution, you can eventually try a similar approach as in the BSDF example, where we use a periodic simulation with a random surface, but the random surface has some periodicity too, so there’s no discontinuity.
  • The PML boundaries are very close to the pyramids (z max). I would keep at least half the largest wavelength, just to be sure the PML won’t affect the evanescent field.
  • It seems you are using 2 types of Si, but the lower BC is at the interface between the 2. I would put it lower so the light can go through this interface.

Overall, I guess the main challenge is the dimensions, that may require some resource (memory and time) for the calculation.

I hope this will help!


Fantastic, thanks @gbaethge
I’ll look into regularising the random structure.
In the meantime though, can you take a look at this simplified example of just a regular pyramid? The reflectance I calculate looks reasonable and in the right order of magnitude, but there is structure in the curve that is certainly not expected if I take a look at experimental data (and zero reflectance at 1100-1200 nm!). What can cause this? Link to large file here.


Glad I could help! Not sure about the artefact in the curves, though. I will have a look and I’ll let you know if I find anything.


I’ve got 3 days left on my trial version. Having not resolved this issue, I don’t think I can proceed to purchase the software for the work I’ve got pending. If you have any last minute ideas, please do let me know!


Hi @simeon,

Sorry for the delay. I’m not too sure whereas the results are just due to the structure or if there’s an issue. I checked the simulation file, but I didn’t see anything that could lead to some issue.
You mentioned some experimental data you compared the simulation to. Is this something you can share?