S-Parameter sweep, with symmetry



I would like to use your new Ports and automated S-parameter extraction functionality, as described in the “Scripted setup and analysis” section: https://kb.lumerical.com/en/sweeps_s_parameter_matrix_sweep.html

The 4-port device I am simulating has symmetry, hence I only need to do 2 simulations. However, if I enter all ports in the sweep, it will do 4 simulations. If I enter 2, it will run 2 simulations but it doesn’t construct a 4x4 matrix.

Any way around this? Manually building the matrix based on the 2 simulations?


Hi @lukasc

As you mentioned, we can’t use the new “S-parameter sweep” tab for this type of simulations. Simulation will run 4 times in this case as you have introduced 4 ports. I discussed this with my colleague at R&D, and it looks like they had thoughts on implementing symmetry to the S-parameter sweep but it is not possible at the moment.

The workaround at the moment would be to use scripts (or manually running two simulations). This can be done by having 4 ports in your simulation file, and choosing only two ports as source, one at each time. Thus, you can construct a 42 matrix and use symmetry to finally build a 44 matrix.

Also, if the straight rectangle is the waveguide, you might need to extend it to the PML layer to avoid reflection from the waveguide facets.

Please let me know if you have any questions.


Thank you for the response.

The Sweep makes it very easy to write the S-Parameter file to disk. Is there a way to build up the S-Parameter matrix and call a Lumerical function that correctly formats the data and saves to INTERCONNECT? Before the sweep, this was a lot of code in the script to get this done.


There is an “exportsweep” script command that makes it easy to generate the file for INTERCONNECT from the results in the S-parameter sweep tool, but this command only works with the S-parameter sweep tool and you can’t specify your own S-parameter data to export.

In the meantime, you would either need to run all of simulations in the S-parameter sweep and not take advantage or the symmetry of the device, or use the old method of using a more complicated script file that generates the output file in the necessary format.


Hi Nancy,

Any progress at improving this? We are using this in workshops/tutorials and students would certainly benefit from the latest features (i.e., not using the old approach), as well as best practices in terms of using symmetry.

Thank you


Hi Lukas,

The next major release of the software will support symmetry for the S-parameter sweeps by allowing you to indicate which ports are “identical” and do not need to be excited in the sweep, and it will generate the full S-matrix table. I think this would work well for a device like the directional coupler in the image from your initial post.

However, it won’t support any cases where different modes might require different symmetry boundary conditions, and I also think it wouldn’t generate the full S-matrix if you use symmetry in the boundary conditions where any of the ports are completely in the half of the solver region that doesn’t get simulated (eg. a y-splitter with symmetry applied so that one output branch is in the simulated half and the other is in the shaded half of the FDTD region).