I am very excited about your new “Ports” object in FDTD. It is working well for single-mode S-Parameters (TE, TM), and the script is much shorter and cleaner. Thank you for make the file export very easy!
I have a problem however, which I suspect is on the INTERCONNECT side. I can’t get a two polarization system to work. Namely, I have a Y-Branch that works for both TE and TM polarization. I would like to make a model that works for either polarization, and also considers the parasitic polarization rotation / mode coupling (TE to TM, or TM to TE). When I run this in the FDTD script below, I get a 6x6 matrix. In contrast, for single polarization I get 3x3. These make sense, and the file looks reasonable.
However, the passivity test completely fails (1.39), and same with reciprocity 0.98 (I don’t know how that is defined for a 3 port device).
Importing the data to INTERCONNECT brings up some issues:
sparam.dat files generated using a single polarization simulation (TE or TM) work fine. I just set the orthogonal identifier to 1 or 2 depending on which simulation I ran, and results are as expected, about 3.2 dB IL for TE, and 3.3 dB for TM.
If I simulate both modes, via updateportmodes(1:2), I get a 6x6 matrix in FDTD. Then in INTERCONNECT, the matrix loads fine and shows up as a 3-port device. But when I run simulations using the ONA with orthogonal identifier to 1, the mode 1 outputs are correct, but mode 2 outputs are the same as mode 1. And when I set orthogonal identifier to 2, the results are non-sense.
Please find below the files
- Ybranch_FDTD.lsf (7.1 KB)
- Compact_YBranch_open.gds (12 KB), the YBranch GDS file used by the script.
- the Sparam data files (https://www.dropbox.com/s/8w48aqkph34asha/YBranch_Sparam_dat.zip?dl=1)
- Ybranch_INTERCONNECT_tests.icp (1.6 MB), with 3 version of Sparam files loaded (TE only, TM only, both TE and TM).