Directional coupler simulation questions - varFDTD can not calculate coupling coefficient properly


Hi everyone,

So I am interested in a particular directional coupler design (220 nm height x 500 nm width) silicon waveguide that sits around 2um of SiO2 cladding - which I am achieving by setting the background index to SiO2 (1.44) and simulating using MODE.

The problem is that I calculate the splitting ratio using the FDE eigen modes, 46 um coupling length and 300 nm separation to be 49%, roughly correct as the device is meant to be 50/50. When I use the varFDTD simulation, I do not observe 50/50 splitting in the waveguide. Usually depending on what I play with (changing region of simulation), the light all ends up transferring and heading out out of the other waveguide to the input. Is there any obvious fault in my simulation that stops me achieving observing this with the 2.5 FDTD?

Secondly, I would like to be able to get the dispersion of the coupler (that is to say, the splitting ratio as a function of wavelength) between a small range - 1545 - 1555 nm. Is there an efficient way I can implement this, for example using a frequency monitor? I was thinking I could use a transmission monitor on both output waveguides which I can verify sum to 1 in the lossless case, but I wouldn’t be able to account for loss using this method. Also, is it straight forward to change the mode source to say mode #2 rather than #1 and repeat this analysis?

Thirdly, how many significant figures can I trust the output of Lumerical to? Can I trust MODE to give me results accurate to around 10^-8 and how can I make MODE output to this precision, or am I better off using FDTD for this purpose?

Thanks very much. I attached the simulation file below.

DC sim.lms (1.7 MB)


Dear @mj0530

For more instruction on how to properly set the polarization of injected light in varFDTD and mode source, please refer to this link:

Another important factor is the silicon material loss at visible wavelengths. Since mode source is very lossy (~10.2 dB/um) , all the injected light gets lost very quickly (especially for lower wavelength). Here is the screenshot of light profile at lambda=0.7um:

and my modified simulation file that operates at single frequency (due to large mode profile change in the wavelengths of 0.4-0.7):

DC sim_modified.lms (366.8 KB)

Can you please confirm that this is the wavelength of interest for this simulation?

  1. I don’t think that I quite understood what you mean in the second part of your question. But if you want to calculate the effect of material loss, maybe you can creat a new silicon material with the imaginary part set to zero? or maybe calculate the mode loss and substract them from tranmission plots? I think this will be slightly challenging.
    One more advanced note: mode source injects light at specific wavelength. This means that if the mode profile changes a lot in the bandwidth of interest, you might need to run a few narrowband or single frequency simulations.

And yes, you can select user select option from mode selection from General tab of source and then click on Select mode.

I don’t have a clear answer for you, and I guess the results might vary depending on the simulation. But here is a good link for the comparison of these two techniques

Thanks :


Sorry I didn’t make it clear on the first point. I had designed this splitter to be 50/50 at 1550 nm. Have I therefore missed something in my setting up of the source, as you were looking at the effect at visibile wavelengths?

I believe this helps clarify the second question too. The directional coupler was designed (and fabricated) for a 50:50 splitting ratio at 1550 nm wavelength. However, this value changes as a function of the wavelength. I am interested in how I can use Lumerical to investigate this aspect of the device - the splitting ratio as a function of wavelength between 1545-1555 nm. Ideally I would like to do it with the 2.5 D FDTD offered by MODE. To keep things simple, I would keep the simulation lossless (I believe silicon is already set up as lossless at 1550 nm on the Palik Si, or at least is very low loss due to a very small imaginary index). To simulate more accurate device level loss, I was going to add a new material with the same real index but put a more relevant imaginary index in.

Thanks for the comparison link. I will check it out.

Waveguide Coupling simulation using var2.5D versus 3D FDTD and EME

Dear @mj0530

I guess since source was set at visible wavelength, I lost my attention and completely deviated from your questions. Sorry about that.

When I set the source to 1550nm, I could see that light is fully transferred to the second waveguide. Of course this dose not match with our expectation, but here is the reason: once that you use varFDTD, you compress the z dimension and as a result you are ignoring the coupling along the z-direction. To be more precise, if you place a source in the coupled section of two waveguide in varFDTD, n_eff will be different than the results of FDE:

This means that from FDE calculations:

n1 = 2.450671;
n2 = 2.442145;
dn = n1-n2;

?Pb_out = (sin(pi*46e-6*dn/1550e-9))^2;

Transferred power is 50%, while from varFDTD calculations:

n1 = 2.634077;
n2 = 2.618108;
dn = n1-n2;

?Pb_out = (sin(pi*46e-6*dn/1550e-9))^2;

Transferred power will be ~99%. This simply means that varFDTD fails to give a proper results in this case. I think this answers your other question.

If you still want to use varFDTD for these calculation, you will need to modify the gap so that index difference (dn) is the same as FDE results. This is explained in this link:

Alternative approach will be to use FDTD, but it might take a long time to run.

I hope this explains the weird results that you were getting from varFDTD.

Here is my simulation file for your review:
DC sim_modified.lms (374.8 KB)

Please let me know if you had any follow up questions.

Ring Resonators and Critical Coupling

Thank you very much! This makes sense. I changed the separation on the waveguides until I reached a similar indices difference and the varFDTD worked - it gave the same result. Its also made me aware for another project I am working on as well.

My next question is a follow up, but doesnt neceesarily need varFDTD I think. I would like to repeat the analysis but for different wavelengths between 1545 and 1555 nm. Of course, if I want high accuracy (say 100’s of wavelength data points) then this would be unfeasible to keep going through the same method manually. Is there any way I can get Lumerical to sweep through the wavelengths in this range, and calculate the effective indices of the asymmetric and symmetric modes for example?



Dear @mj0530

I am glad to hear that my previous explanation made sense.

Regarding you question, I was thinking of two approaches: one is to use FDTD and second is FDE + theoretical equations:


This will be slightly time consuming, but will fully represent what you expect to see in an experiment. You can copy paste geometry into FDTD, and then use mode source with multifrequency injection on the input. Finally you can use monitors to extract dispersion as well as total loss in the system. You can also perform convergence testing and using a higher number of frequency points to verify the results.


I think this is what you had in mind. You can break the structure into three sections: 2 curved section representing input and output and the coupled region. For the coupled region, you can use FDE to calculate the symmetric and ayymmetric modes for a fixed gap distance. To do this, you can select the modes, track the modes and perform frequency sweep, and finally extract the results. This can be done either through GUI or script. Finally you can calculate Δn and use theoretical equations to find the expected coupled power. This includes only the results of the coupled section, but you can add associated loss in the coupled sections (from imaginary part of the calculated mode in FDE) as well as loss on the curved sections (by doing bend analysis). I expect that power coupling in the curved sections are negligible, but you can add the effect of these sections separately if needed. Then you can add up all the effects to get the final results.

I hope this explanation was clear and covered all the necessary steps but please feel free to ask if you had any further questions.



Hi @mj0530,

I am revisiting the situation out of curiosity and being relatively new to Lumerical as well. The case of using FDTD or FDE+theoretical equations is well taken. My question is if I can simulate the propagation in a fiber coupler using EME solver and extract coupled and throughput power using the same? An explanation on the pros and cons of the method as compared to the FDE method would be very helpful.

Thank you.


Dear @sxd

Thanks for reaching out.

EME will be very fast and precise to calculate the light propagation in the coupled region (the straight section) and will require only one mesh cell in this section. However, it will be slightly challenging in the curved section of each waveguide and will require a fine mesh. To make sure that your final results are reliable and your mesh is fine, you will need to perform convergence testing.

Here are two application examples in KB that might be of interest for you to study:

I hope this was helpful.

2D butt coupled non-identical fibers using EME solver

Hi @bkhanaliloo,

Thank you very much for the suggestions. Surely helpful. Will keep you updated.


A post was split to a new topic: 2D butt coupled non-identical fibers using EME solver