Transmission of Tapered Si waveguide Using EME


I am using the EME solver to simulate the transmission of a tapered Si waveguide. The width the waveguide decreases from 500 nm to 120 nm. My goal is to determine the shortest taper length by sweeping it in EME. I first ran a separate simulation with zero taper length, to get the minimum transmission (0.11). However, when I sweep the length in EME, from 0.0001 -500 um, the minimum transmission I get (@ 0.001 um) is ~0.8. Really want to know what went wrong here.
Here is the link for my .lms file.


Dear @yug096

Thank you for reaching out. This was a great question, and it took me a while to find a good a answer for it.

I modified the simulation file, like using coarser mesh and smaller EME region, to speed up the simulation time. When I remove the taper, I obtained a transmission around 18%:

test_NoTaper_eme_BK.lms (378.8 KB)

Once you are adding tapered section, and want to to do an eme sweep over small taper length, you need to use a higher number of modes for each cell group. The reason is that once the tapered section becomes smaller, fundamental mode in the input waveguide will be coupled to higher order modes due to a big change in the width of tapered waveguide in a small length. I also used none for energy conservation tab to avoid any additional numerical error:

Doing so, I obtained similar results for the simulations with tapered waveguide as the case with no tapered waveguide:

And here is the simulation file:

test_taper_eme_BK.lms (485.2 KB)

I hope this answered your question.


Modeling of an optical fiber refractive index sensor

Hi @bkhanaliloo,

Thank you so much for the detailed answer and taking time helping me out! The reason that I used such a big EME region (20 um x 20 um) is that since the waveguide is very narrow on the other end, only 120 nm, the mode profile will be very big. I actually tried different EME regions before, and it turns out 20 um x 20 um is just enough for the very big mode profile.

I tried as you suggested to increase the modes to 60, the transmission I got indeed decreased, but it was still 60% at ~0 taper length. I guess you get 18% transmission is because your EME region is not big enough. Do you think I should further increase the number of modes? Another question is why you choose ‘none’ as subcell method for group 2, but not CVCS?

Looking forward to your reply!


Dear @yug096

This makes sense. A good approach could be to increase the EME simulation region large enough until the field has decayed a few orders of magnitude before reaching the boundaries. Plotting the field in log scale will be quite useful for this purpose.

That’s a great idea. Since I had a limited time, I could not run simulations for larger EME region. Can you please try to increase the number of modes and provide me with your results? I will be glad to discuss it further if you still had any questions.

Another thing to note is that for very small tapered section (less than source wavelength), you can expect that results will be very similar to the case without the tapered section. Considering fabrication errors, even if you find the optimal size, practically results might not be too useful. I guess what I am trying to say is that you can simulate the results for larger tapered section without being worried for very small tapered sections.

This is a great question too. Referring to EME Introduction KB page:

The traditional EME method represents continuously varying structures, such as tapers, with a staircase approximation to resolve geometrical or material variations along the direction of propagation. This leads to non-physical reflections and calculation inaccuracies. The typical workaround involves increasing the number of expansion interfaces, which results in increased computational costs, both in terms of time and memory. Lumerical’s CVCS method avoids this staircasing effect and, through extensive benchmarking versus 3D finite-difference time-domain (FDTD) simulations for a wide variety of waveguide structures, offers excellent accuracy at a fraction of the time for longer structures.

Continuously Varying Cross-sectional Subcell (CVCS) method uses some smoothing techniques, details of which I am not quite aware of, when it tries to calculate the modes or propagate the field. While this is very useful and computationally effective technique for large tapered beams, it can create numerical errors for very small tapered sections. Please note that for such an abrupt change in the tapered cross section these additional averaging/smoothing techniques, that are quite useful otherwise, can create large numerical errors.

I think your case is an example of the cases that is pushing the edge of software capability. For such cases, you might need to use some unconventional techniques.

I hope I could answer your questions.


Hi @bkhanaliloo,
Thanks again for the very detailed reply!
I will try to further increase the number of modes and provide you the results afterwards. (It’s very time-consuming)
You are right, for my case, I only need to make sure the transmission of my taper is high enough, which means actually only the results at long taper length (>200 um) are important to me. I am just very curious about why it goes wrong at very short taper length though.
I will also compare the results with and without CVCS methods, to see how it influences the transmission at short taper length.
Thanks a lot for your help!


You’re more than welcome @yug096.


Hi @bkhanaliloo,

I increased the mode number to 80 this time. The transmission at around zero taper length is ~0.44, still not right, but indeed decreases compared to the result of 60 modes. I think if further increase the mode number to maybe beyond 100, we may be able to reach the right number. I also made a comparison between the result of with and without CVCS method.
Here is the transmission of 0-10 um taper using CVCS method:

and here is the result without CVCS method:

It seems that at short taper length, the cvcs method indeed creates numerical errors, and the transmission is higher. My question is from what point, does the CVCS method give us an more accurate answer?


Dear @yug096

Thanks for additional info.

Can you try to increase the number of mesh cells in the None Method case and repeat your calculations? I expect that as you increase the number of mesh, results will be similar to CVCS Method.

I will be away from office for the next few days, and will try to respond you by coming Wednesday if you had any other questions. Hopefully this will not be too late and sorry for any inconvenience.