How to create a wrinkled metal structure


Hello, I am trying to make a metallic wrinkled structure on top of a silicon substrate, but I do not know how to create such structure that has no periodicity. I would like to produce a structure much like the included image.

Could someone please advise me on how to do this?

Thank you,

H.C. Park


Dear @hc.park

This is an interesting pattern. What defines the shape of these wrinkles?

Many thanks to my colleague, @aalam, we could come up with some ideas that might be helpful:

  1. The first approach that seems to be the easiest solution is to import the object from the image file. This will create a binary data set where 1 is for peaks (white/grey areas in the SEM image), and 0 for dips (dark/black areas). The success of this procedure of course will depend how good the image and set threshold is. Then we can use some post processing to smooth the edges by applying a Gaussian function, similar approach as we used for creating surface roughness-complex structures. We can discuss it more if you decided to take this approach.

  2. Second solution would be to create these patterns in a software like Matlab, and then import them. At first glance pattern looks like a 2D conditional random walk, but it is actually more complicated than that. Do you have algorithms to create these patterns? If its a yes please let me know (personally I am very curious to know!) and we can create them in Lumerical with less hassle.

I hope this was useful.


Dear @bkhanaliloo and @aalam

Thank you for your response.
The structure I uploaded here is just an example from the literature.
The structure I have is a metallic structure with the wrinkles much like that image, and an organic light emitting material is deposited on top of this metallic structure. I want to simulate the light extraction when there is a wrinkled metal + light emitter compared to the case where there is no metal wrinkle there.

As for the ideas you mentioned, I think it would be easier for me to attempt the first approach. The second approach seems very interesting, and if I had more time, I would like to try it as well, but unfortunately I am trying to find the solution to this problem as soon as I can. I have little to zero experience with matlab and I am afraid that it will take too long to take this method.

So, if I wanted to try the first approach, would I need a very high quality top view and cross-section (side view) view SEM images of the structure to import it to lumerical?

Once again, thank you for your support.

Best regards,

H.C. Park


Dear @hc.park

I am glad that it worked.

The quality of the final imported structure depends on the quality of original image and Lumerical’s built-in image processing tool (plus how one adjusts the settings). You will need a top image of the structure (SEM or color image), and later on after you imported the image, you can adjust the thickness and real dimension of the device by editing the material from Objects Tree (as explained in the link).

This process is similar to extruding an object, which means that your object will have identical cross section. As a result, you do not need the side image and details along the third dimension will be lost (which anyways knowledge about third dimension is limited).


Dear @bkhanaliloo

Thank you for your kind explanation.
I will try to obtain the structure on FDTD and will ask for assistance if I run into trouble. :relaxed:


Dear @bkhanaliloo

I used the following top view SEM image of the structure and produced it on lumerical:

It’s a silicon substrate with 50 nm Al and 50 nm Ag deposited on top, so that the metal has this wrinkle structure.
I attempted to learn ‘surface roughness -complex structures’ as you have suggested, but I couldn’t understand how I could apply that on my particular structure.
Could you please give me some advice on how to proceed?

Thank you,

H.C. Park


Dear @hc.park

It looks like you got some decent structures, albeit some unwanted noise here and there.

I will briefly explain how we make rough surfaces in usr_surface_roughness.fsp (2.0 MB). If you choose rough surface from attached file, you can open the script that shows steps for creating rough structures. Here, we first introduce seeds with random amplitudes, and then using a Gaussian filter with defined correlation in x- and y-direction and sigma rms, we can modify the smoothness and the amplitude of peaks.

@aalam and I were originally inspired by the code and we were thinking to import the image and then use a Refractive index monitor, the data of which can be used as input seed in the rough surface code. We were hoping that with some post processing we can reduce the noise and the sharpness of device, as in your image the wrinkles are slightly curved. Unfortunately, this is not a trivial problem and will require fine adjustments of filters. We spent some time on it, but looks like we made it worse the more with modified it.

Overall, the image processing and noise cancelling is a big industry and we were unsuccessful on improving the imported image quality further.

Please let me know if you need further clarification about the code, or if you could come up with ways of removing the noises in your structure.