Ring resonator with single bus waveguide in FDTD/Interconnect


Hello everyone,

I started by designing the structure (ring resonator with single bus waveguide) in FDTD.

Dimmensions: Radius 10 um, waveguide width 450 nm, gap ring-waveguide 700 nm, silicon height 220 nm.

I then, extracted the results from the 4 monitors to Matlab, got a file to import in Interconnect and got the ring through and drop port transmission. For TE mode looks fine.

When I simulate with the TM mode i get something like this. It looks like the response is not passive anymore. Even the reciprocity between through and drop response is small.

Some parameters I have in the FDTD design: frequency points 1001, simulation time 10000 fs, mesh auto non uniform with accuracy 4, minimum mesh step 0.00025 um, source centered at 1550 nm, source pulselength 150 fs.
This is my S parameter file.
Sparam.txt (884.7 KB)

Can someone please help me understanding why my response got active and the extinction ratio is so small for the through port? How can i fix this problem.

Thank you very much.

Kind regards.

Problem with All pass ring resonator simulation
Racetrack resonator simulation quite different from experimental result
Transmission higher than 1
Trying to match experimental data on single bus ring resonator
Visualizing S parameterrs
Trying to match experimental data on single bus ring resonator

Hi @bparedes,

Sorry about the late reply. I took a look at the s-parameter file you attached and it is in good shape. As long as the file convention is correct, INTERCONNECT only takes what you defined in the s-parameter file and the plot you got is a correct reflection of the situation in the FDTD file. Thus it is very possible that the passivity issue is in the FDTD design. If there is no confidential concern, please attach your FDTD simulation file and we can have a look to help you to diagnose the problem.



Dear gwang,

Thank you so much for your help. Since last time i did a change in my simulation, increasing to number of points to 2001 and the pulse length to 150 fs. It improved the TM response but didn’t solve the passivity issue.

Kindly check attached FDTD file and also the code I used to generate it.
When I generate the FDTD through the code, after run it, I update manually the source to be between 1.5 and 1.6 um.
1000rings_new script.lsf (13.8 KB)

input_h220nm_w450nm_R10um_gap700nm.fsp (5.9 MB)

Thank you very much for your attention.

Kind regards.


Dear @bparedes

Your simulation file looks good. I just didn’t get why you are using mesh overrides in z directions at specific point along the waveguide and ring? I think FDTD with a mesh accuracy of 2 should be a good start. You might also need to increase FDTD region in the z-direction.

One thing to check would be to make sure that light is not reflected from PML. You can do this by looking at backward light using expansion monitor.



Dear @bkhanaliloo,

Thank you very much for your suggestions.
Unfortunately, they didn’t solve the passivity problem I am facing. I did check the expansion monitors, none of them seem to measure back reflection.

Do you have any other suggestion for me?

And I am using the mesh override at my monitors points in order to guarantee that i get an accurate phase response.

Best regards.


Dear @bparedes

Sorry for the late reply. My colleague and I are still working on your case and will keep you updated when we had a conclusive answer.

Thank you for your patience.


Hi @bparedes,

Sorry for the late reply. We tried to replace the sources and mode expansion monitors in the file by the Port Object and the transmission for TM mode shown good passivity:

The ring transmission measured by INTERCONNECT:

Here are the simulation files:
input_h220nm_w450nm_R10um_gap700nm_modified.fsp (6.9 MB)
s_parameter.dat (572.7 KB)
ring_s_para.icp (865.1 KB)

Please have a look and let us know if you have further problems.

Problem with All pass ring resonator simulation

Dear @Gwang,

Thank you very much for your time and for your help.
However, I was reading this Port Object is just available in Lumerical version 8.17 and above correct? My institution has license for version 8.15.
Just to be sure i opened the file you sent for verification and I can’t find any Port object defined. Kindly check attached images.

It was supposed to be defined there in the FDTD region correct?



Hi @bparedes,

That is correct, the Port Objects are defined under the FDTD solver, like below:

Is it easy for you to upgrade the software? We highly recommend you to upgrade FDTD to the latest version and definitely take advantage of the Port Object. It saves up the time to manually run the simulation several times to collect all the data (and use a s-parameter sweep instead) and generates the s-parameter file just literally on a single click. This process is much less error prone and more convenient. It basically extremely minimizes the possibility to make mistakes.

Another thing to mention, which I forgot in the previous post, to shorten the simulation time, I set the FDTD “mesh accuracy” to 1; you may want to use higher mesh accuracy for your actual simulation to get better results.

I hope this could help. You can get the latest download packages here. Let me know if you have any further difficulties.


Dear Gwang,

So sorry for following up this late.
I finally have access to Lumerical version 8.17.1072 and I can open the fdtd file that you have sent to me. Thank you so much for that, it will help a lot. Just one last detail, for the interconnect file, my version is also 6.5.1072 (version provided by my working institution) but I am not being able to open your file. I just noticed that the version in your file is 6.5.1157.
Could you please, by any chance, provide the files with the version 6.5.1072?


Dear Gwang,

I am now able to open your files. So, no need to do anything related to my previous reply.
But I have a situation.
In fdtd I opened your file input_h220nm_w450nm_R10um_gap700nm_modified.fsp. Then I ran the s-parameter sweep in order to see if I could export to interconnect the same file as you provided (s_parameter.dat),
I am having this errors:

Then, naturally, if i export to interconnect the result is completely different.
Can you just explain to me the process of running the fdtd file and export to the .dat file for interconnect?

Thank you very much for all the help.
It has been great.



Hi @bparedes,

According to the error message, seems like you have some commands defined in the “model” Analysis Script; while actually you don’t need to define anything there. Please have a check and let me if this does not solve the problem.


Hi Gwang,

I just checked the model window. There is nothing there.

As I said previously, I just uploaded your fdtd file. I get that error when I run the s-parameter sweep that you created.
That’s why I was asking what is the correct procedure to run the simulation and extract the file for interconnect. Maybe I am forgetting something.

If I just upload your fdtd file and right click in the s-parameter sweep - export to interconnect, I can get the correct .dat file for the interconnect because you gave me the file already with data.

I don’t know if I am being clear with the issue.

Thank you very much for you help.


Hi @bparedes,

The file runs successfully on my machine. Could you please explain a bit more on how you get this problem? Some screenshots would be very helpful.


Hi Gwang,

Sure. So this is the process I do.
I upload your fdtd file named “input_h220nm_w450nm_R10um_gap700nm_modified.fsp”. Please check the fig below.

Then, if I want to run the file, I go to the s-parameter sweep and do right click - run. Kindly check pic below.

When I do that sweep run, it is when i get those errors messages.

Since it is warning that was no data set in the file, the S parameter matrix is empty.

Now I noticed that, if I run the fdtd file here:

I get a folder in cluster liske this:

Do I need to do something with these files?


Dear @bparedes

Sorry for inconvenience.

It looks like you are saving the sweep files on the cluster. My guess is that software was not able to run the files in the cluster to output the results. One possible scenario is that you don’t have the most recent version of the software on the cluster to support the port objects.

Can you please provide more input on how you are performing simulations? Can you check and see if you are able to run any of the created sweep files directly on the cluster? One quick workaround will be to save the sweep files directly in your computer and run them there, but its a good idea to figure out the problem and find a long standing solution for it.

Please keep me updated.


Dear @bkhanaliloo,

I was indeed running my simulations in the cluster once is much faster.
I just checked what you said. The version available in the cluster is 8.17.1072. It seems, in fact, that this version doesn’t work well with the port object.

I downloaded the most updated version to my computer, 8.17.1157 and the simulation ran and worked pretty well. I managed to get the same results as were previously shown here.

I also tried to create a new file in the cluster with the port object, just to check if it could be a conflict of versions, once the file provided here was already in the most updated version 8.17.1157. But it also didn’t work out, it still gives the error of no data found. So I am guessing that is actually a problem of the version. I can run the sweep files in the cluster but I can’t extract the data.

Thank you very much for all the attention and suggestions. It was everything very helpful.


Dear @bparedes

This is a bit confusing. When you run S-parameter sweep in cluster from graphical user interface (GUI) it is not able to run and thus extract the data from S-paramter sweep object (please see your screenshot from folder created by sweep object. simulation files does not contain any data and there is no log file). However, software is able to run simulations individually with 8.17.1072 version when you open them and press the run button. This is not an issue with 8.17.1157 version when you run it on your own machine.

I guess upgrading cluster to the latest version (8.17.1157) will be our last check, though I am not quite sure if 8.17.1072 version is not compatible with the S-parameter sweep object. Can you please upgrade the cluster and let me know if problem is persistent? I hope that we can find a solution very soon.



Dear @bkhanaliloo,

Unfortunately you were right. The cluster was just upgraded to version 8.17.1157 and i keep having the same issue. I am not being able to run the s-parameter object. I also checked in a different laptop then before and it runs well.
Any idea if the cluster might have any specific feature creating this error?

Thank you very much.


Dear @bparedes

Thanks for upgrading the software to its latest version on cluster and keeping me updated.

The only thing that I can think of is if the cluster is set properly. Are you able to run any simulation in the cluster using GUI in your machine? Then, are you able to run any parameter sweep from sweep tab (not the s-parameter sweep)? I want to narrow down the problem to see if the problem is specific to s-parameter sweep or is due to the way that you have set the cluster.

If you couldn’t run any of the above mentioned simulations, cluster has not been setup properly. To be more specific, are you running simulations in cluster by setting up it from the resources window? Can you please provide an screenshot of resource configuration window after you clicked on Run test button? For more information please take a look at this page?

Another scenario is if you are running through job scheduler: https://kb.lumerical.com/en/index.html?install_linux_cluster_setup.html. Can you please provide more input on how you are doing it if this is the case.

Can you also please provide the operating system and its version on the cluster machine? Your local machine seems to be windows 10.