Problem using N Port S-Parameter Element for Ring Resonator

I am simulating a ring resonator with a very large bend radius of 5000um. Since, it’s not physically possible to compute such a large device due to excessive computational cost. So I have broken the device into small elements like directional couplers and waveguides. I obtained the s-parameters for the directional coupler using s-matrix sweep in 3D-FDTD solver and extracted them using ‘Export to Interconnect’ which creates a .dat file. This file was then imported in N port S-parameter in Interconnect. I checked the response of the N port s-parameter and it’s exactly similar to one obtained in the FDTD. This confirms that extracted s-parameters are working fine. For the bend/circular waveguides, I extracted the waveguide mode properties using FDE solver in MODE and imported it into interconnect. I also checked the mode profile using OMPA and its similar to obtained in FDE.

Now the issue is when I try to simulate this ring resonator by combining all the elements, It doesn’t show the resonant peaks/proper spectrum. Also, when I run simulation, in the result view window it just shows input1. Although, it should show all inputs of ONA. There is something wrong here which I am not able to find out. Please look at the setup below:


Currently I have extracted s-param for the TE00 mode. Once I obtain the proper spectrum for the resonator then I need to further repeat the same simulations for TE01 mode. The goal here is to obtain and compare the transmission response of the ring-resonator for TE00 and TE01. I guess my approach is right and this is the only correct method to simulate such a large ring for two different modes?

I appreciate your help !!

Hello @bruno.taglietti,

Your general approach should work well. If there is no results for inputs 2 and 3 it is because there is no signal recorded at those outputs.

If you replace your measured elements with the simpler waveguide and coupler parameterized elements do you see the same issue?

Hello @kjohnson. Thank you for your reply.

When I replace the s-param element with the simpler coupler, it gives me a proper transmission response. I didn’t even change the waveguide. It seems the issue is somewhere with the s-param element. The response obtained with normal coupler is (which is what I am looking for):

Whereas, when I use the s-param element, the response is:

Which is actually the response coming out of the s-param element, when I checked it separately. I don’t see anything on the drop port of the ring since, In the result view section, there is no Input 2 for the ONA.

I have attached the ‘.dat’ file for the N Port S-param element and the ‘.ldf’ file for the bent waveguide of the radius. Please if you can quickly run and check where the issue is. Also, I would highly appreciate it if you can suggest some other way that is faster to compare the Transmission response for TE00 and TE01 mode for such a large ring?

Thanks and I appreciate your time!

DC_s_params_0_Gap.dat (109.1 KB)
LDF file (over 400mb)

The values of the S parameters in the coupler data is very low, so a lot of signal (around 99.9%) is lost whenever the signal goes through them.

I would say there is an issue with your coupler FDTD simulation. You should check the transmission results in the ports of the FDTD simulation, they should roughly add up to one.

Hi @kjohnson,

Thanks again for your reply. I am designing a ring-resonator specifically to have a very low coupling coefficient and thus a very high Q-factor (in millions). To have a very low coupling coefficient the coupling gap between the bus waveguide and the ring is kept at 2um. So the power transmission is indeed very very low. That’s why when we see the abs(S)^2 the values are so low. Also, it’s a vertical coupling and not a lateral coupling. I tried another approach and extracted the .txt file for the abs(S.S)^2 (for Port4 of ring coupler) vs lambda (as described in the ring modulator example). Then, I imported this coupling coefficient table in interconnect in the parametrized normal directional coupler and now we have some response, although the extinction ratio is extremely low:

I also checked the Transmission for each port in my FDTD simulation and they add up to near 1. Port1 is input on bus waveguide (left), Port2 on bus waveguide (right), Port3 on ring waveguide (left), Port4 on ring waveguide (right)

Please look at the Transmission responses in the figure below:

So it seems like the FDTD simulation is accurate? Look forward to your perspective.


I think that this is probably the best approach. Does the coupling coefficient vary significantly as a function of wavelength? If it is roughly constant, it may be best to use the coupler element with a single coupling coefficient.

It may help to increase the number of frequency points that are recorded by the ONA to fully resolve the spectrum. You could also try using a narrower frequency range around the transmission peaks.

If the transmissions add up close to 1 then it is probably working as intended. For now, we should focus on getting the Interconnect simulation to work. It might help if you post your simulation file so I can take a look.