FDTD S-Parameter Extraction Troubleshooting

I have been working to create a model of a coupler in FDTD but I am having trouble with the ports and S-Parameter sweep. The coupler is built using the setup script in the file.

The issue is that the S-Parameter results do not match expected results. The coupler is symmetric around the y axis, yet the S-Parameters do not reflect that. To my knowledge of S-Parameters, S24 should equal S42 in this case but it doesn’t.

Also the passivity and reciprocity throwing errors.

Any help is appreciated. I’d like to know what I’m doing wrong.

coupler.fsp (6.5 MB)

Some additional information:
The goal here is to practice creating a compact model to be used in Interconnect using aya_zaki’s method in his post titled “Steps of Creating a Compact model for a Taper Waveguide.” So far the method and scripting hasn’t been a problem, it’s just the S-Parameter results that is the issue.

Hi @kbm337
You can check the reciprocity by using two sources. Run one simulation at port 2, run the FDTD simulation and plot the S42. After that put the source at port 4, plot the simulation and then plot the the S24. Due to reciprocity, it is expected that S42=S24.

Thank you for the response.

I disabled the two upper ports 1 and 3 and ran the simulation with just ports 2 and 4. Something still seems really wrong. In this case S12 should equal S21. Any suggestions?



I believe there could be error due to asymmetry of the mesh over the span of the y span of the ports. Since there is a mesh override region used over the coupling gap, this forces a finer dy mesh step size over part of each port. I suspect the results will get much closer if the y span of the mesh override region is increased so that a uniform dy mesh step size is used over the full y span of both ports.

Please try it out and let me know if the suggestion helps or if you are still seeing a discrepancy between S21 and S21.