Coupling coefficient calculation: Problem with mesh accuracy



I have had a problem with the simulation of a 3D structure using FDTD solutions.
My structure is composed of a silicon 10-um radius ring resonator (width=500 nm x height=220 nm) and at the center of the waveguide there are some fully etched holes (radius=50 nm).
The bottom and upper cladding are made of silica. The ring is coupled to a curved waveguide (width=300 nm x height=220 nm). Please, refer to this article in the following link (the only difference here is the radius of the ring):

I ran some simulations to evaluate the coupling coefficent between the ring and the coupled waveguide (bus).
I varied the mesh accuracy (from 3 to 7) and I measured the transmission of the field which is coupled in the ring (the input mode is injected from the waveguide bus).
I have noticed that the values of the coupling coefficient as a function of the mesh accuracy are (for a wavelength=1548 nm) about:

Mesh accuracy Coupling coefficient [%]
3 27.77
4 28.57
5 4.23
6 28.11
7 28.58

The surprising fact is that the coupling coefficient at mesh=5 is comparable with the experimental results and its value is quite different from the coupling coefficient values obtained with higher mesh.
I cannot understand why. I tried to sweep the wavelength range and I tried to increase the simulation time (from 1500 fs to 3000 fs, they are both enough), but I am obtaining the same results.

Can you please help me to understand the problem?
Thank you in advance for your reply.

Best regards,

Fabrizio Gambini


Dear @fabrizio.gambini

Thank you very much for providing simulation details.

We expect the results to converge as we improve mesh accuracy which is not the case in your simulations. This can be due to different reason, and I think the easiest way would be to provide me with the simulation file, if it is possible, for a review.

Hopefully we can resolve the issue very soon.



Dear bkhanaliloo,

attached the model I built for the simulations (the script is written in
the analysis group).
In the “optimization and sweeps” you can find the sweep of the mesh.

Since this is an ongoing activity, I kindly ask you not to share with
third party the model.

Thank you again for your help.


model_coupling_coefficient.fsp (529 KB)


Hi @fabrizio.gambini

Thank you very much for providing the simulation file and supporting documents.

In your simulation file, you have very small oxide disks with radius of 50 nm. These features require a fine mesh to be resolved properly. Since these disks are scattered all over the device, a good approach would be to add a mesh override region and use fine mesh along x and y axes. You can use relatively coarse mesh along z.

Other than the above mentioned considerations, there are a few things to note:

  • I noticed that as you change the mesh accuracy, shape of the fundamental mode changes:

It will be a good idea to check and select the mode of interest before running simulations to make sure that you are injecting identical mode in all simulations.

  • I added profile monitor to look at overall field profile, and also at different locations along the waveguide to check the transmission. I noticed that transmission drops in the waveguide section before coupling to the ring. To solve this problem, you can leave a bigger space between FDTD region and mode source and increase mode source span. Since glass is almost lossless, you should not see any drop in power before coupling region.

Please apply the modification and keep me update with the results. Since your simulation file was scripted, I avoided modifying it to make sure that I am not messing it up :slight_smile:



Dear bkhanaliloo,

thank you very much for your insightful suggestions.
In the next days I will apply the corrections you mentioned and I will
let you know.

Thank you again for the support, I think it has been very useful.
Best regards,



Dear @fabrizio.gambini

If we properly set the simulation file, we expect the result to converge as we use finer mesh.

As a starting point, you can ignore the holes and study simple waveguide-ring coupling. This simple case will be very useful to learn from it and master yourself in this type of simulation. The links below might be useful as well for your review:

Then you can move into a slightly advanced case, and add holes to study it.

Please keep me in the loop and I will be glad to be of a help.