Simulation tool and geometry



Dear Lumerical community,

I would like to simulate a ridge waveguide followed by a slabwaveguide for broadband wavelengths, as shown below. My orignal structure is hundreds of µm to mm long and also includes tilted waveguide. My structure is symmetrical so I can scale down the length to tens of µm, but I need to sweep it with respect to slab waveguide length so I would still need lengths of tens of µm. My questions are
1 - Which solver is better in my case for accurate results and time efficiency?
2- How can I simulate my stucture for single TE mode but broadband wavelengths. Which solver can accomplish this?
3 - Can i tilt the waveguide by tilting the sources and monitors are same angle. Which solver for this purpose?
I have also attached an FDTD version of my device which can give you more idea about my design.tilted_facet_2.lsf (8.3 KB)

Bent waveguide simulation in FDTD

Hi @nouman.zia,

I’m not too sure if a bit of the script is missing, but I got an error when running it (the variable Lp is not defined).
Regardless of the actual structure, here’s a few elements of response.

Typically, for long propagation distances, you can consider the EME and varFDTD solvers of MODE Solutions. Note the varFDTD solver can be used for planar waveguiding structures where there’s little coupling between the vertical slab modes.
If the waveguides are tilted in the propagation plane, then varFDTD could be possible, provided the waveguides have the same thickness.
I’m not too sure the EME solver can easily be used here, first because of the slab (the modes are not confined laterally, so it can b tricky) and also because of the tilt (that said, it could be worth trying!). The EME advantage is you can easily do sweeps over the length.
In fine, a full 3D FDTD simulation is recommended to validate the results from other solvers.

EME is a frequecy domain method, so you would have to run a sweep over the wavelength to get the full results.
On the other hand, varFDTD and FDTD are time domain method, meaning you can get the full spectrum in 1 simulation.

The mode source in FDTD and varFDTD can be tilted. On the other hand, monitors can only record data from the mesh, so they will be along the axis. The mode expansion monitor can be tilted and provide the coupling efficiency to a selected mode.
Regarding EME, I believe the ports can be tilted, although I never used them that way.

It would be great if you could provide the missing part of the script, and also let us know what result you would like to extract from the simulation. That will allow to provide a better recommendation to which solver to use.

Modal reflection (back reflection) of tilted ridge waveguide

Hi @gbaethge,
Thank you for your comments. I have attached my script file. I would like to calculate the modal reflection in to ridge waveguide (RWG) when the length of slabwaveguide (SWG) is changed.
I have placed a mode source in SWG and mode expansion monitors in RWG. Is it a right configuration to study light coupling (reflection) from SWG to RWG. I see an unexpected behavior (i.e. reflection in RWG increases when slab length is increased) when mode source is placed in RWG. My other question is that can I adjust the span and position of mode source in z-axis independently, as I want to launch my mode in ‘barrier’ or ‘QW’ layer those have high index.tilted_facet_3.lsf (8.6 KB)


Hi @nouman.zia,

Thank for the additional information and the script. I’d have a couple of comments regarding the simulation:

  • I’m not sure if this is intended, the structure stops before the FDTD boundaries, creating some additional interfaces and, therefore, adding reflections from both ends (reflection at the air/RWG and SWG/air interfaces).
  • The simulation region, mode source and mode expansion monitor are probably too small. The boundaries should be far enough so it doesn’t affect the mode calculation and propagation. This will be important in the vertical direction (for both RWG and SWG) and lateral direction (for RWG). The idea is to get the fields small enough near the boundaries.

Also, I’m not completely sure to understand the goal. In the simulation, there is no tilt at the interface between the 2 waveguides. As the second WG is a slab, there is nothing, laterally, that causes any angle, so the main effect will be the angle at the end of the waveguide.

Finally, as I mention, the source (and simulation) should be large enough. This means you cannot adjust the span and position to select a particular mode in a layer. The mode solver takes into account the full index profile to calculate the possible modes. You can change which mode is selected (fundamental or higher order).
Another difficulty is the thickness of some layers. For instance, QW is only 10nm thick, while the mesh size is quite larger.


Thank you for comments @gbaethge!

  • Yes, air gap is intended.

  • I have reduced the span for initial simulations. I will increase it for more accurate calculations. Is there any example or explanation related to this in lumerical KB that could help me to understant this?

My goal is to reduce the light reflection in to RWG. For that I want to study the effect of slab length on light reflection in RWG.
There is no angle between RWG/SWG (its 90 degree by default) interface as I have shown in schematic diagram of my first post. In the real case the whole geometry, including the RWG and SWG, is tilted with respect to facet, but in simulation I have tilted the facet with respect to the rest of geometry.
What I understood that if my source span in z direction is large enough then mode will be launched in to high index layer irrespective to the central position of mode source?
Can I reduce the mesh size locally into QW layer?
Thank you!


You’re welcome, @nouman.zia :slight_smile:

This page discussed the use of metal boundary conditions with the FDE solver, and why we’d like the fields to be small at the BC. It also applies to the mode source since it is using the same FDE solver and, by default, is using Metal BC.

As you’re interested in reflections into RWG, you can consider injecting light from the RWG and looking at the reflected light and how much couples back into the RWG mode.
This can be done using a mode source placed on RWG, and a monitor + mode expansion monitor, placed behind the source.
Alternatively, you can also use a port to obtain the same.

That is correct, the modes are calculated using the WG cross section. By default, the fundamental mode is selected (mode with the highest effective index). You can also manually select a higher order mode if needed.

You can use a mesh override to use a finer mesh over a specific area of the simulation.


Hi @gbaethge,
Thanks once again! I have set the source and monitors accordingly. I am getting higher order modes even I have selected ‘fundamental mode source’: after_source
Also I am getting a (truncated) mode profile before mode source while from top view of waveguide there is no mode propagating before the mode sourcebefore_source. Here is the mode profile from top viewtop_view.
What’s the reason behind this unexpected mode profiles?
Here is the .fsp file:


Hi @nouman.zia,

I think the problem is still the size, and possibly the mesh. I did some test using MODE Solutions’ FDE solver to calculate the modes of RWG. I got the following fundamental TE mode:


To get this, I used a calculation area of 15x10\(\mu m^2\). I also used a fine mesh over the layers (I used 5nm in the vertical direction).

A first step would be to transpose the dimensions to FDTD (in the yz plane) to see how it affects the mode calculation. Then you can check if a smaller mesh is required (our conformal mesh should improve the accuracy).


Hi @gbaethge,

  • I have noticed that mode profile looks like a fundamental mode when there is no tilt at the facet. But it changes as soon as a tilt is introduced. I don’t understand why the mode profile changes with the tilt.
    One reason could be that due to reflection we have incident and reflected modes propagating in the waveguide.

  • Secondly, about the simulation, mode source and expansion monitor size. Here ( its discussed that the structure should pass through the PML boundary. Thats why I had to keep the simulation region, mode source and mode expansion monitor sizes small. But, here (, its recommended to use larger simulation size. May I know whats the difference in these two situations.


Hi @nouman.zia

If you refer to the mode as calculated by the mode source, the tilt should not impact it, unless the mode source is placed too close to the tilted end and it changes the cross section used to calculate the mode.

We usually advise the structure to go through the PML as if not, it means the structure is clipped and it might not be representative of the actual device you are trying to simulate, and may introduced additional reflections at the interfaces.
That said, in any case, the simulation area should be large enough (this means the PML should be far enough from objects) so the PML will not affect the evanescent fields near these objects. This doesn’t apply to the substrate.
In your case, the object is the RWG, so the FDTD region should be large enough so the PML (along the direction of propagation) will not affect the propagation of light in the waveguide.
This doesn’t apply to the PMLs orthogonal to the direction of propagation, as we usually consider a structure extending beyond, which acts like an infinite structure where the light is never reflected back.


Hi @gbaethge,
Source mode looks normal. I am talking about the mode profile measured by the monitors. Here is the .lms file if it can help angle_vs_reflection_mode.lms (427.5 KB).
I can’t extend my mode source in z-direction in varFDTD. Is there any alternative way to achieve this?


Hi @nouman.zia,

Ok, my bad, I didn’t understand correctly. The profile is definitely due to the reflections as the monitor records the resulting fields propagating through it (in this case, the injected mode and the reflection).

You need to extend z span of the varFDTD object. In the case of varFDTD, you need to make sure z span is large enough so the slab mode is calculated correctly (for the same reason as any mode calculation).


Thank you @gbaethge,
It seems that expansion monitor is recording the reflection from outside the RWG. After reflection some light is coupled outside the RWG, into the y-axis cladding which in my case is infinite and any light in the cladding is lost.
Is this possible in lumerical to measure the reflection only in RWG?


Hi @nouman.zia,

Actually, the mode expansion monitor will give you the coupling coefficient between the fields recorded by the monitor you selected and the mode you selected (as discussed here).

In your simulation, the coupling will calculate the coupling to the RWG fundamental mode. In the results given by “expansion for modal_reflection”, the value of interest is \(T_{backward}\), that gives the amount of power coupled to the mode in the backward direction (toward x negative).
On the other hand, \(T_{total}\) gives the total transmission through the monitor.

I ran your file and got:
T_{total} = 0.387
T_{backward} = 1.192 \cdot 10^{-5}
So even though there is about 39% reflection, there’s barely any coupling into the RWG mode.


Thank you @gbaethge,
Yes, its a significantly low reflection. What I observe here are some resonance at higher angles, which are not present in qualitative simulation. I have attached results from simulation which show the reflections calculated from lumerical. As you see there is some noise/parasitic reflection at angles > 9 degree. Is this becuase of light outside the RWG?



Hi @nouman.zia,

Many things can cause some noise in the simulation (mesh, PML, etc.). Ideally, some convergence testing should allow to identify the possible culprits. You can follow a similar methodology as for FDTD.


Hi @gbaethge,

My question is regarding the difference in the results between T_backward and |E|^2 in this script geometry_tilt_mode.lsf (9.6 KB). By increasing the ‘slablength’ from 3 µm, I see an increase in T_backward, but a decrease in |E|^2.
As |E|^2 is proportional to the reflected mode power, so it should show a same trend like T_backward. I expect a decrease in the reflected light in ridge waveguide, becuase of beam divergence, when slablength is increased. Which is also clear from the the trend of |E|^2.
Exp monitor is placed behind the mode source so there is only T_backward and I am using same frequency monitor, which I am using for expansion, to calculate |E|^2, but difference in the results make me curious. Does |E|^2 give a good indication of reflected light in this case?



Hi @nouman.zia,

Something to keep in mind, a monitor will record all fields passing though, while T_backward will give the amount of power that is actually coupling to the selected mode, in the backward direction.
It’s not only the intensity of the fields that gives an idea of what is reflected, but also the spatial distribution.
To really have an idea of the amount of reflection, without considering what is actually coupling to the waveguide mode, you should consider the total transmission through the monitor (this also corresponds to T_total in the mode expansion monitor).


Hi @gbaethge,

In my simulation T_backward changes significantly with respect to the position of mode expansion monitor and DFT monitor, along x-axis. Is there any rule of thumb related to the positions of these monitors where I get more reliable results. Simulation is attached tilted_RWG.lms (437.9 KB)


Hi @nouman.zia,

In this simulation file, there is 2 possible issues as the waveguide has an angle:

  1. The mode expansion monitor should take the angle into account as well, in a similar way you applied the angle to the mode source. Otherwise, the expansion is calculated considering the cross section along the monitor, with a propagation along the x axis. You need to set the rotation angle (in the “Mode expansion” tab, theta angle) to the same angle as the source.
  2. When you move the mode expansion monitor along x, this will shift the waveguide cross section in y. For the expansion to be correct, the monitor used to record the fields to be expanded should cover the same cross section. Basically, you just need to position “YZ power monitor” at the same location as the mode expansion monitor.

I did a quick test, setting the angle correctly:

If you set the position of the mode expansion monitor and the power monitor to be the same, you get the same results (there is a slight variation, on the order of \(10^{-5}\) most likely due to numerical noise).