For the Directional Coupler, which is already in the PDK. The DC has many parameters (g, w, r, length, wavelength range) hence providing a full parameter sweep is not reasable. The user may ask for a component that hasn't been simulated (e.g., w = 300 nm, g = 250 nm, L = 1.5 µm, r = 9.9 µm, lambda = 1310 nm). Need a method to get this filled in:
in KLayout, user launches a simulation; INTERCONNECT issues a warning that the model doesn't exist and the simulation isn't accurate.
INTERCONNECT launches FDTD; result is S-parameters
user registers the Sparam model into the CML (eventually automated):
KLayout launches INTERCONNECT, to find out the path of the EBeam CML. ?get("local path");
KLayout copies the Sparam file into the CML, and edits the XML file to add the new component
INTERCONNECT now has the correct model.
For new components / user generated components, if the user only wants to simulate the SParams:
use the above item, of launching FDTD to get Sparam.
if someone wants to add this to the PDK, they would manually edit the CML directly.
For the Directional Coupler, which is already in the PDK. The DC has many parameters (g, w, r, length, wavelength range) hence providing a full parameter sweep is not reasable. The user may ask for a component that hasn't been simulated (e.g., w = 300 nm, g = 250 nm, L = 1.5 µm, r = 9.9 µm, lambda = 1310 nm). Need a method to get this filled in:
For new components / user generated components, if the user only wants to simulate the SParams: