Electric field profile for a rib waveguide



Hello, I am dealing with the rib waveguide. And I have calculated modes for the propagation. I am having problem in using mode expansion monitor. The line plot for electric field is not compatible with the surface plot (mode profile) as can be seen in the images. I am also attaching my file.
Rib_edited_monomode_Waveguide_V01_14042016.fsp (1.9 MB)

Someone please help, I have just started with the lumerical so my problem can be stupid but I really need help.
Thanks in Advance


Hi. When you are plotting the Efield along a line, you have to pick the y value for the line. By default your y value is at the lowest value to your Efield is actually zero there (look at the magnitude in the plot). If you change the y value to a location inside the rib (say y=1.2 micron) then you can see that the plot looks reasonable and the magnitude is also nonzero.


Thank you very much sir


I am having one more problem. For the modes calculation I am giving input in the frequency/wavelength domain (min wavelength=1.3um, max wavelength=1.8um i.e. wavelength span=0.5um and central wavelength=1.55um). When I calculate the modes, the modes are calculated automaticallu for wavelngth 1.50968um, but as I am giving the central wavelength so the modes calculation should be for 1.55um. Isn’t it? I want to ask you where is the problem? Didn’t not I choose the inputs correctly? It is clear that I want to calculate modes for 1.55um and I also the wavelength range should be 1.3um to 1.8um. I am attaching my file here. Please have a look into it and guide me accordingly.
Thanks in Advance
Rib_thin_Waveguide_V02_26042016.fsp (1.1 MB)


Hi Ravi,

The source mode profile is always calculated at the central frequency rather than the central wavelength which is why the modes are calculated at 1.50968 um which corresponds to the central frequency of 198.58 THz. If you wanted to calculate the mode at 1.55 um, then you could modify the source to use a central frequency of 193.414 THz which corresponds to 1.55 um.

Using the modified source range, you could still have the monitors record data at the same wavelength points as before by editing the global monitor properties and de-selecting the “use source limits” setting. Just be sure that the monitor wavelength range is contained inside the range where light is being injected by the source.

Hopefully this helps.


To overcome the running problem in my simulation, one solution is to increase the mesh size but increasing the mesh means the change in mode. But I don,t want any change in the mode which I have selected.

Thank you


Thanks a lot.

I am having one more problem regarding the running of simulation. For the same file, on adjusting z=300um, I am getting running error. And also the memory is too much. What should I do? Can you have a look on the same file (modification needed z=300um). As the file is too large I can’t share it here.

Thanks in Advance


Hi Ravi,

It sounds like the increased memory requirements could have been causing the error message that you were seeing since you are able to run the simulation using a coarser mesh which does not require as much memory.

One way you could reduce memory requirements by about half is to take advantage of the symmetry of the structure in the x-direction, and set the x min boundary condition can be anti-symmetric. The following page shows how to choose the symmetry boundary condition:

You could also slightly reduce the x and y span of the simulation region to reduce the simulation memory requirements since the mode is well confined in the waveguide.

Since your original simulation file was already using a mesh accuracy setting of 2, I wouldn’t recommend using an even coarser mesh than this because numerical error increases as the coarser is made coarser, and this numerical error can build up over a long propagation distance. A 300 um propagation distance for optical wavelengths is relatively long, and I assume that you will eventually move on to simulating a structure which is not a uniform waveguide in the propagation direction so that you would need to propagate light for the full 300 um distance.

If using symmetry and a smaller simulation region x and y span does not sufficiently reduce the memory requirements for running the simulation, you may want to consider using either the 2.5D varFDTD solver or the EME solver in MODE Solutions which are more suitable for simulating long propagation distances.


Thank you.
On reducing the x and y span of simulation region and also on using the symmetric ans anti symmetric boundaries the required memory is getting reduced, fine. But the problem is that also I have to recalculate the mode. I want to propagate the same mode which was selected before. Is there any option for decreasing the required memory without affecting the previously selected modes?
I don’t have Mode Solutions, I am dealing with the FDTD Solutions.


Hi Ravi,

Whenever the simulation mesh is changed, the mode in the mode source or mode expansion monitors will need to be recalculated using the new mesh. However, when the modes are automatically updated, it chooses the new modes to be the ones with highest overlap with the previously chosen modes, so typically you don’t need to manually re-select the modes.

For the source, it could be possible to import the field profile that you want to inject using the import source:

The imported fields will then remain constant even when you change the simulation mesh, and the fields are interpolated from the imported data onto the mesh that is used in the simulation.


Thank you.
I have one more question to ask you. As I am using mode source and mode source expansion monitor in my simulation, will there be any negative effect on the mode profile propagating due to the mode expansion monitor?

Thanks in Advance


Hi Ravi,

No, there won’t be any effects on the simulated fields due to the mode expansion monitor. The mode expansion monitor uses the same data which is recorded by a frequency domain power or profile monitor, and it calculates additional expansion results after the simulation has been run.

In case you have not already seen this, this page has a good explanation of the mode expansion monitor:


Thanks a lot.

I am having problem in one of my simulation. While propagating the mode, the simulation is not completed, rather my system is going hanged each time (after 99% completion). What could be the possible region of this?


Sometimes the simulation can appear to hang at 99% if there is not enough memory available to collect the monitor data. I would recommend trying to reduce the memory requirements of the simulation and re-running it to see if the problem still occurs. There are some tips for reducing memory requirements in this post:

Hopefully it helps!


Thank you very much… it is really helpful.
I am again struck on one of problem.
I am simulating rib waveguide once again, which is much wider in the beginning (mode is injected at this end) than the end. In the transmission end I am getting the amplitude 1.15 but the mode which I have injected is having amplitude equal to 1. How does it possible? or there is some problem in my file?. The file is large in size so I can’t upload it.

Thanks in Advance


Hi Ravi,

It is possible for the maximum amplitude of the final mode to be higher than the maximum amplitude of the initial mode that was injected. However, power should still be conserved. It sounds like the cross section of the waveguide is tapered and gets smaller along the propagation direction, so the fields become confined in a smaller area. In order to carry the same amount of power, the modes can have a higher field amplitude.

To check that power is conserved, you can use a monitor to measure the power transmission at the output and make sure that it is 1 (if there is no loss or scattering), or less than 1.

split this topic #17

A post was split to a new topic: Diverging simulation in FDTD