export_circuitmodel_overview

ipkiss3.all.circuit_sim.export_circuitmodel_overview(circuit_model, file_path='model_overview.yaml')

Exports an overview of the given circuit model to a YAML file.

The exported file summarizes how the circuit is modeled, including information about the model name, parameters list, instances, and associated parameters.

Parameters:
circuit_modeli3.CircuitModelView

The circuit model view to be exported.

file_pathstr, optional

Path to the output YAML file. Defaults to “model_overview.yaml”.

Examples

import si_fab.all as pdk
import ipkiss3.all as i3

circuit = i3.Circuit(
    name="circuit",
    insts={"gc1": pdk.FC_TE_1550(), "gc2":pdk.FC_TE_1550()},
    specs=[
        i3.Place("gc1", (0, 0)),
        i3.Place("gc2", (100, 0)),
        i3.ConnectManhattan(
            "gc1:out",
            "gc2:out",
            "wg"
        ),
    ],
)

ciruit_model = circuit.get_default_view(i3.CircuitModelView)
i3.circuit_sim.export_circuitmodel_overview(ciruit_model, "model_overview.yaml")

This will output a yaml file:

si_fab.compactmodels.all.GratingCouplerCompactModel:
   parameters:
   - center_wavelength
   - bandwidth_1dB
   - peak_IL_dB
   - reflection
   - reflection_vertical_in
   instances:
   - circuit/FC_TE_1550
   instance_params:
     circuit/FC_TE_1550:
       center_wavelength: 1.55
       bandwidth_1dB: 0.0248
       peak_IL_dB: 3.39
       reflection: !!python/complex '0.0'
       reflection_vertical_in: !!python/complex '0.0'
ipkiss3.cml.waveguide.WG2:
   parameters:
   - n_eff
   - loss
   - center_wavelength
   - length
   instances:
   - circuit/circuit_wg/circuit_wg_trace
   instance_params:
     circuit/circuit_wg/circuit_wg_trace:
       n_eff:
       - -0.11801836223622095
       - -1.2364227301601174
       - 2.5074866785432612
       loss:
       - 20.0
       center_wavelength: 1.4250000000000001e-06
       length: 0.0001534155321519338