ubcpdk 2.3.4__tar.gz → 2.3.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/PKG-INFO +4 -4
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/README.md +1 -1
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/pyproject.toml +4 -24
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/__init__.py +1 -1
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/components.py +39 -33
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/import_gds.py +5 -2
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/klayout/tech/pymacros/set_menus.lym +1 -1
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/tech.py +9 -14
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/LICENSE +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/README.md +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/config.py +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/data/__init__.py +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/data/chop.py +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/data/convert_to_pandas.py +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/data/dbr.md +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/data/dbr.py +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/data/find_bandwidth.py +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/data/read_mat.py +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/data/remove_baseline.py +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/data/windowed_mean.py +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ANT/ebeam_splitter_swg_assist_te1310_ANT.GDS +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ANT/ebeam_splitter_swg_assist_te1550_ANT.GDS +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/Alignment_Marker.GDS +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam/GCs_BB.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam/ebeam_adiabatic_te1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam/ebeam_adiabatic_tm1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam/ebeam_bdc_te1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam/ebeam_crossing4.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam/ebeam_gc_te1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam/ebeam_gc_tm1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam/ebeam_splitter_swg_assist_te1310.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam/ebeam_splitter_swg_assist_te1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam/ebeam_terminator_te1310.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam/ebeam_terminator_te1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam/ebeam_terminator_tm1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam/ebeam_y_1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam/ebeam_y_adiabatic.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam/taper_si_simm_1310.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam/taper_si_simm_1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/Alignment_Marker.GDS +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/Packaging_FibreArray_8ch.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/SEM_example.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/ebeam_BondPad.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/ebeam_bdc_tm1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/ebeam_gc_te1310.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/ebeam_gc_te1310_8deg.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/ebeam_gc_te1310_broadband.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/ebeam_gc_te1550_90nmSlab.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/ebeam_gc_te1550_broadband.GDS +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/ebeam_splitter_adiabatic_swg_te1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/ebeam_swg_edgecoupler.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/ebeam_terminator_te1310.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/ebeam_y_adiabatic_1310.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/metal_via.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/photonic_wirebond_surfacetaper_1310.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/photonic_wirebond_surfacetaper_1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/siepic_o_gc_te1270_BB.GDS +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/siepic_o_pwbstlas_si_BB.GDS +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_Beta/thermal_phase_shifters.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/EBeam_SiN/ebeam_BondPad.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/Packaging_FibreArray_8ch.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/SEM_example.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_BondPad.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_adiabatic_te1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_adiabatic_tm1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_bdc_te1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_bdc_tm1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_crossing4.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_gc_te1310.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_gc_te1310_8deg.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_gc_te1310_broadband.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_gc_te1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_gc_te1550_90nmSlab.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_gc_te1550_broadband.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_gc_tm1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_splitter_adiabatic_swg_te1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_splitter_swg_assist_te1310.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_splitter_swg_assist_te1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_swg_edgecoupler.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_terminator_te1310.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_terminator_te1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_terminator_tm1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_y_1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_y_adiabatic.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/ebeam_y_adiabatic_1310.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/metal_via.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/photonic_wirebond_surfacetaper_1310.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/photonic_wirebond_surfacetaper_1550.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/gds/thermal_phase_shifters.gds +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/import_pdk.py +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/klayout/tech/drc/ELEC463 Doping.lydrc +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/klayout/tech/drc/ELEC463 Metal Heater.lydrc +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/klayout/tech/drc/SiEPIC_EBeam_DRC.lyp +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/klayout/tech/layers.lyp +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/klayout/tech/layers2.lyp +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/klayout/tech/pymacros/klayout_Library.lym +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/klayout/tech/tech.lyt +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/layers.yaml +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num10_1272.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num11_1273.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num12_1271.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num13_1278.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num14_1276.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num15_1277.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num16_1275.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num17_1282.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num18_1280.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num19_1281.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num1_1266.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num20_1279.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num21_1286.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num22_1284.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num23_1285.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num24_1283.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num2_1264.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num3_1265.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num4_1263.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num5_1270.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num6_1268.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num7_1269.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num8_1267.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num9_1274.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num10_1248.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num11_1249.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num12_1247.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num13_1254.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num14_1252.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num15_1253.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num16_1251.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num17_1258.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num18_1256.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num19_1257.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num1_1242.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num20_1255.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num21_1262.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num22_1260.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num23_1261.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num24_1259.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num2_1240.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num3_1241.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num4_1239.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num5_1246.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num6_1244.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num7_1245.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num8_1243.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num9_1250.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num10_1200.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num11_1201.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num12_1199.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num13_1206.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num14_1204.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num15_1205.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num16_1203.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num17_1210.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num18_1208.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num19_1209.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num1_1194.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num20_1207.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num21_1214.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num22_1212.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num23_1213.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num24_1211.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num2_1192.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num3_1193.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num4_1191.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num5_1198.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num6_1196.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num7_1197.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num8_1195.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num9_1202.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/mzi/EB486A_URChip3Coords.txt +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/mzi/EB486A_URChip3Coords1.txt +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/mzi/IPC_LukasChrostowski.rtf +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/mzi/IPC_ZiheGao.rtf +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/mzi/LukasChrostowski_MZI1_135_Scan1.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/mzi/LukasChrostowski_MZI2_136_Scan1.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/mzi/ZiheGao_MZI17_265_Scan1.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/mzi/ZiheGao_MZI1_272_Scan1.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/mzi/ZiheGao_MZI1_273_Scan1.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/mzi/ZiheGao_MZI2_271_Scan1.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/mzi/ZiheGao_MZI3_270_Scan1.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/mzi/ZiheGao_MZI4_269_Scan1.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/mzi/ZiheGao_MZI5_268_Scan1.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/mzi/ZiheGao_MZI6_267_Scan1.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/mzi/ZiheGao_MZI8_266_Scan1.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/ring/LukasC_RingDoubleTER10g100_1495.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/ring/LukasC_RingDoubleTER10g150_1494.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/ring/LukasC_RingDoubleTER10g200_1493.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/ring/LukasC_RingDoubleTER10g50_1496.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/ring/LukasC_RingDoubleTER3g100_1498.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/ring/LukasC_RingDoubleTER3g150_1497.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/ring/LukasC_RingDoubleTMR30g150_1492.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/ring/LukasC_RingDoubleTMR30g200_1491.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/ring/LukasC_RingDoubleTMR30g250_1490.mat +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/data/ring/lukasc_RingResonator.txt +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/samples/test_rings.py +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/simulation/__init__.py +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/simulation/circuits/__init__.py +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/simulation/circuits/mzi_spectrum.py +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/simulation/circuits/waveguide.py +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/simulation/find_neff_vs_width.csv +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/simulation/lumerical/EBeam.cml +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/simulation/lumerical/lumerical_process_file.lbr +0 -0
- {ubcpdk-2.3.4 → ubcpdk-2.3.5}/ubcpdk/simulation/modes_waveguide.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ubcpdk
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.5
|
|
4
4
|
Summary: ubcpdk pdk
|
|
5
5
|
Keywords: python
|
|
6
6
|
Author-email: gdsfactory <contact@gdsfactory.com>
|
|
@@ -10,8 +10,8 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.10
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.11
|
|
12
12
|
Classifier: Operating System :: OS Independent
|
|
13
|
-
Requires-Dist: gdsfactory
|
|
14
|
-
Requires-Dist: gplugins[tidy3d,sax,schematic]>=0.
|
|
13
|
+
Requires-Dist: gdsfactory==7.13.0
|
|
14
|
+
Requires-Dist: gplugins[tidy3d,sax,schematic]>=0.9.13,<0.10
|
|
15
15
|
Requires-Dist: pytest ; extra == "dev"
|
|
16
16
|
Requires-Dist: pytest-cov ; extra == "dev"
|
|
17
17
|
Requires-Dist: pytest_regressions ; extra == "dev"
|
|
@@ -22,7 +22,7 @@ Requires-Dist: jupyter-book==0.15.1 ; extra == "docs"
|
|
|
22
22
|
Provides-Extra: dev
|
|
23
23
|
Provides-Extra: docs
|
|
24
24
|
|
|
25
|
-
# ubcpdk (SiEPIC Ebeam PDK) 2.3.
|
|
25
|
+
# ubcpdk (SiEPIC Ebeam PDK) 2.3.5
|
|
26
26
|
|
|
27
27
|
[](https://mybinder.org/v2/gh/gdsfactory/binder-sandbox/HEAD)
|
|
28
28
|
[](https://pypi.org/project/ubcpdk/)
|
|
@@ -15,8 +15,8 @@ classifiers = [
|
|
|
15
15
|
"Operating System :: OS Independent"
|
|
16
16
|
]
|
|
17
17
|
dependencies = [
|
|
18
|
-
"gdsfactory
|
|
19
|
-
"gplugins[tidy3d,sax,schematic]>=0.
|
|
18
|
+
"gdsfactory==7.13.0",
|
|
19
|
+
"gplugins[tidy3d,sax,schematic]>=0.9.13,<0.10"
|
|
20
20
|
]
|
|
21
21
|
description = "ubcpdk pdk"
|
|
22
22
|
keywords = ["python"]
|
|
@@ -24,7 +24,7 @@ license = {file = "LICENSE"}
|
|
|
24
24
|
name = "ubcpdk"
|
|
25
25
|
readme = "README.md"
|
|
26
26
|
requires-python = ">=3.10"
|
|
27
|
-
version = "2.3.
|
|
27
|
+
version = "2.3.5"
|
|
28
28
|
|
|
29
29
|
[project.optional-dependencies]
|
|
30
30
|
dev = [
|
|
@@ -39,26 +39,6 @@ docs = [
|
|
|
39
39
|
"jupyter-book==0.15.1"
|
|
40
40
|
]
|
|
41
41
|
|
|
42
|
-
[tool.black]
|
|
43
|
-
exclude = ''' # Specify the files/dirs that should be ignored by the black formatter
|
|
44
|
-
/(
|
|
45
|
-
\.eggs
|
|
46
|
-
| \.git
|
|
47
|
-
| \.hg
|
|
48
|
-
| \.mypy_cache
|
|
49
|
-
| \.tox
|
|
50
|
-
| \.venv
|
|
51
|
-
| env
|
|
52
|
-
| _build
|
|
53
|
-
| buck-out
|
|
54
|
-
| build
|
|
55
|
-
| dist
|
|
56
|
-
)/
|
|
57
|
-
'''
|
|
58
|
-
include = '\.pyi?$'
|
|
59
|
-
line-length = 88
|
|
60
|
-
target-version = ['py310']
|
|
61
|
-
|
|
62
42
|
[tool.mypy]
|
|
63
43
|
python_version = "3.10"
|
|
64
44
|
strict = true
|
|
@@ -147,7 +127,7 @@ message_template = "Bump to {new_version}"
|
|
|
147
127
|
tag_template = "v{new_version}"
|
|
148
128
|
|
|
149
129
|
[tool.tbump.version]
|
|
150
|
-
current = "2.3.
|
|
130
|
+
current = "2.3.5"
|
|
151
131
|
regex = '''
|
|
152
132
|
(?P<major>\d+)
|
|
153
133
|
\.
|
|
@@ -260,7 +260,7 @@ def photonic_wirebond_surfacetaper_1550() -> gf.Component:
|
|
|
260
260
|
def gc_te1310() -> gf.Component:
|
|
261
261
|
"""Return ebeam_gc_te1310 fixed cell."""
|
|
262
262
|
c = gf.Component()
|
|
263
|
-
gc = import_gc("ebeam_gc_te1310.gds"
|
|
263
|
+
gc = import_gc("ebeam_gc_te1310.gds")
|
|
264
264
|
gc_ref = c << gc
|
|
265
265
|
c.add_ports(gc_ref.ports)
|
|
266
266
|
c.copy_child_info(gc)
|
|
@@ -272,6 +272,7 @@ def gc_te1310() -> gf.Component:
|
|
|
272
272
|
layer=(1, 0),
|
|
273
273
|
width=9,
|
|
274
274
|
)
|
|
275
|
+
c.info.update(info1310te)
|
|
275
276
|
return c
|
|
276
277
|
|
|
277
278
|
|
|
@@ -279,7 +280,7 @@ def gc_te1310() -> gf.Component:
|
|
|
279
280
|
def gc_te1310_8deg() -> gf.Component:
|
|
280
281
|
"""Return ebeam_gc_te1310_8deg fixed cell."""
|
|
281
282
|
c = gf.Component()
|
|
282
|
-
gc = import_gc("ebeam_gc_te1310_8deg.gds"
|
|
283
|
+
gc = import_gc("ebeam_gc_te1310_8deg.gds")
|
|
283
284
|
gc_ref = c << gc
|
|
284
285
|
c.add_ports(gc_ref.ports)
|
|
285
286
|
c.copy_child_info(gc)
|
|
@@ -291,6 +292,7 @@ def gc_te1310_8deg() -> gf.Component:
|
|
|
291
292
|
layer=(1, 0),
|
|
292
293
|
width=9,
|
|
293
294
|
)
|
|
295
|
+
c.info.update(info1310te)
|
|
294
296
|
return c
|
|
295
297
|
|
|
296
298
|
|
|
@@ -298,7 +300,7 @@ def gc_te1310_8deg() -> gf.Component:
|
|
|
298
300
|
def gc_te1310_broadband() -> gf.Component:
|
|
299
301
|
"""Return ebeam_gc_te1310_broadband fixed cell."""
|
|
300
302
|
c = gf.Component()
|
|
301
|
-
gc = import_gc("ebeam_gc_te1310_broadband.gds"
|
|
303
|
+
gc = import_gc("ebeam_gc_te1310_broadband.gds")
|
|
302
304
|
gc_ref = c << gc
|
|
303
305
|
c.add_ports(gc_ref.ports)
|
|
304
306
|
c.copy_child_info(gc)
|
|
@@ -310,6 +312,7 @@ def gc_te1310_broadband() -> gf.Component:
|
|
|
310
312
|
layer=(1, 0),
|
|
311
313
|
width=9,
|
|
312
314
|
)
|
|
315
|
+
c.info.update(info1310te)
|
|
313
316
|
return c
|
|
314
317
|
|
|
315
318
|
|
|
@@ -317,7 +320,7 @@ def gc_te1310_broadband() -> gf.Component:
|
|
|
317
320
|
def gc_te1550() -> gf.Component:
|
|
318
321
|
"""Return ebeam_gc_te1550 fixed cell."""
|
|
319
322
|
c = gf.Component()
|
|
320
|
-
gc = import_gc("ebeam_gc_te1550.gds"
|
|
323
|
+
gc = import_gc("ebeam_gc_te1550.gds")
|
|
321
324
|
gc_ref = c << gc
|
|
322
325
|
c.add_ports(gc_ref.ports)
|
|
323
326
|
c.copy_child_info(gc)
|
|
@@ -329,6 +332,7 @@ def gc_te1550() -> gf.Component:
|
|
|
329
332
|
layer=(1, 0),
|
|
330
333
|
width=9,
|
|
331
334
|
)
|
|
335
|
+
c.info.update(info1550te)
|
|
332
336
|
return c
|
|
333
337
|
|
|
334
338
|
|
|
@@ -336,7 +340,7 @@ def gc_te1550() -> gf.Component:
|
|
|
336
340
|
def gc_te1550_90nmSlab() -> gf.Component:
|
|
337
341
|
"""Return ebeam_gc_te1550_90nmSlab fixed cell."""
|
|
338
342
|
c = gf.Component()
|
|
339
|
-
gc = import_gc("ebeam_gc_te1550_90nmSlab.gds"
|
|
343
|
+
gc = import_gc("ebeam_gc_te1550_90nmSlab.gds")
|
|
340
344
|
gc_ref = c << gc
|
|
341
345
|
c.add_ports(gc_ref.ports)
|
|
342
346
|
c.copy_child_info(gc)
|
|
@@ -348,6 +352,7 @@ def gc_te1550_90nmSlab() -> gf.Component:
|
|
|
348
352
|
layer=(1, 0),
|
|
349
353
|
width=9,
|
|
350
354
|
)
|
|
355
|
+
c.info.update(info1550te)
|
|
351
356
|
return c
|
|
352
357
|
|
|
353
358
|
|
|
@@ -355,7 +360,7 @@ def gc_te1550_90nmSlab() -> gf.Component:
|
|
|
355
360
|
def gc_te1550_broadband() -> gf.Component:
|
|
356
361
|
"""Return ebeam_gc_te1550_broadband fixed cell."""
|
|
357
362
|
c = gf.Component()
|
|
358
|
-
gc = import_gc("ebeam_gc_te1550_broadband.gds"
|
|
363
|
+
gc = import_gc("ebeam_gc_te1550_broadband.gds")
|
|
359
364
|
gc_ref = c << gc
|
|
360
365
|
c.add_ports(gc_ref.ports)
|
|
361
366
|
c.copy_child_info(gc)
|
|
@@ -367,6 +372,7 @@ def gc_te1550_broadband() -> gf.Component:
|
|
|
367
372
|
layer=(1, 0),
|
|
368
373
|
width=9,
|
|
369
374
|
)
|
|
375
|
+
c.info.update(info1550te)
|
|
370
376
|
return c
|
|
371
377
|
|
|
372
378
|
|
|
@@ -374,7 +380,7 @@ def gc_te1550_broadband() -> gf.Component:
|
|
|
374
380
|
def gc_tm1550() -> gf.Component:
|
|
375
381
|
"""Return ebeam_gc_tm1550 fixed cell."""
|
|
376
382
|
c = gf.Component()
|
|
377
|
-
gc = import_gc("ebeam_gc_tm1550.gds"
|
|
383
|
+
gc = import_gc("ebeam_gc_tm1550.gds")
|
|
378
384
|
gc_ref = c << gc
|
|
379
385
|
c.add_ports(gc_ref.ports)
|
|
380
386
|
c.copy_child_info(gc)
|
|
@@ -386,6 +392,7 @@ def gc_tm1550() -> gf.Component:
|
|
|
386
392
|
layer=(1, 0),
|
|
387
393
|
width=9,
|
|
388
394
|
)
|
|
395
|
+
c.info.update(info1550tm)
|
|
389
396
|
return c
|
|
390
397
|
|
|
391
398
|
|
|
@@ -494,6 +501,7 @@ def add_fiber_array(
|
|
|
494
501
|
cross_section: CrossSectionSpec = "xs_sc",
|
|
495
502
|
layer_label: LayerSpec = LAYER.TEXT,
|
|
496
503
|
straight: ComponentSpec = straight,
|
|
504
|
+
post_process: Callable | None = None,
|
|
497
505
|
**kwargs,
|
|
498
506
|
) -> Component:
|
|
499
507
|
"""Returns component with grating couplers and labels on each port.
|
|
@@ -512,6 +520,8 @@ def add_fiber_array(
|
|
|
512
520
|
grating_coupler: grating coupler instance, function or list of functions.
|
|
513
521
|
cross_section: spec.
|
|
514
522
|
layer_label: for label.
|
|
523
|
+
straight: straight component.
|
|
524
|
+
post_process: function to post process the component.
|
|
515
525
|
|
|
516
526
|
"""
|
|
517
527
|
c = gf.Component()
|
|
@@ -536,6 +546,8 @@ def add_fiber_array(
|
|
|
536
546
|
ref.rotate(-90)
|
|
537
547
|
c.add_ports(ref.ports)
|
|
538
548
|
c.copy_child_info(component)
|
|
549
|
+
if post_process:
|
|
550
|
+
c = post_process(c)
|
|
539
551
|
return c
|
|
540
552
|
|
|
541
553
|
|
|
@@ -624,7 +636,6 @@ def dbr(
|
|
|
624
636
|
l1=l1,
|
|
625
637
|
l2=l2,
|
|
626
638
|
cross_section=xs,
|
|
627
|
-
decorator=None,
|
|
628
639
|
)
|
|
629
640
|
dbr = c << _dbr
|
|
630
641
|
s.connect("o2", dbr.ports["o1"])
|
|
@@ -635,18 +646,17 @@ def dbr(
|
|
|
635
646
|
coupler = partial(
|
|
636
647
|
gf.components.coupler,
|
|
637
648
|
cross_section=tech.xs_sc_simple,
|
|
638
|
-
|
|
649
|
+
post_process=tech.add_pins_bbox_siepic,
|
|
639
650
|
)
|
|
640
651
|
coupler_ring = partial(
|
|
641
652
|
gf.components.coupler_ring,
|
|
642
653
|
cross_section=tech.xs_sc_simple,
|
|
643
654
|
add_bbox=tech.add_pins_bbox_siepic,
|
|
644
|
-
# decorator=tech.add_pins_bbox_siepic,
|
|
645
655
|
)
|
|
646
656
|
mmi1x2 = partial(
|
|
647
657
|
gf.components.mmi1x2,
|
|
648
658
|
cross_section=tech.xs_sc_simple,
|
|
649
|
-
|
|
659
|
+
post_process=tech.add_pins_bbox_siepic,
|
|
650
660
|
)
|
|
651
661
|
|
|
652
662
|
|
|
@@ -704,23 +714,13 @@ def ebeam_dc_halfring_straight(
|
|
|
704
714
|
|
|
705
715
|
if siepic:
|
|
706
716
|
x = tech.xs_sc_simple
|
|
707
|
-
c.info
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
properties={
|
|
715
|
-
"gap": gap * um,
|
|
716
|
-
"radius": radius * um,
|
|
717
|
-
"wg_thickness": thickness[LAYER.WG] * um,
|
|
718
|
-
"wg_width": x.width * um,
|
|
719
|
-
"Lc": length_x * um,
|
|
720
|
-
},
|
|
721
|
-
component_type=["optical"],
|
|
722
|
-
model=model,
|
|
723
|
-
)
|
|
717
|
+
c.info["model"] = model
|
|
718
|
+
c.info["gap"] = gap
|
|
719
|
+
c.info["radius"] = radius
|
|
720
|
+
c.info["wg_thickness"] = thickness[LAYER.WG]
|
|
721
|
+
c.info["wg_width"] = x.width
|
|
722
|
+
c.info["Lc"] = length_x
|
|
723
|
+
|
|
724
724
|
return c
|
|
725
725
|
|
|
726
726
|
|
|
@@ -756,7 +756,7 @@ ring_single_heater = partial(
|
|
|
756
756
|
|
|
757
757
|
|
|
758
758
|
ebeam_dc_te1550 = partial(
|
|
759
|
-
gf.components.coupler,
|
|
759
|
+
gf.components.coupler, post_process=add_pins_bbox_siepic_remove_layers
|
|
760
760
|
)
|
|
761
761
|
taper = partial(gf.components.taper)
|
|
762
762
|
spiral = partial(gf.components.spiral_external_io)
|
|
@@ -777,7 +777,7 @@ pad = partial(
|
|
|
777
777
|
layer=LAYER.M2_ROUTER,
|
|
778
778
|
bbox_layers=(LAYER.PAD_OPEN,),
|
|
779
779
|
bbox_offsets=(-1.8,),
|
|
780
|
-
|
|
780
|
+
post_process=add_pins_siepic_metal,
|
|
781
781
|
)
|
|
782
782
|
|
|
783
783
|
|
|
@@ -830,7 +830,7 @@ def add_fiber_array_pads_rf(
|
|
|
830
830
|
add_label, gf.port.auto_rename_ports_electrical
|
|
831
831
|
)
|
|
832
832
|
c1 = add_pads_rf(
|
|
833
|
-
component=c0,
|
|
833
|
+
component=c0, post_process=rename_ports_and_add_label, orientation=orientation
|
|
834
834
|
)
|
|
835
835
|
return add_fiber_array(component=c1, **kwargs)
|
|
836
836
|
|
|
@@ -851,10 +851,15 @@ def add_pads(
|
|
|
851
851
|
c0 = gf.get_component(component)
|
|
852
852
|
text = f"elec_{username}-{clean_name(c0.name)}_G"
|
|
853
853
|
add_label = partial(add_label_electrical, text=text)
|
|
854
|
-
return add_pads_rf(component=
|
|
854
|
+
return add_pads_rf(component=c, post_process=add_label, **kwargs)
|
|
855
855
|
|
|
856
856
|
|
|
857
857
|
if __name__ == "__main__":
|
|
858
|
+
import ubcpdk.components as uc
|
|
859
|
+
|
|
860
|
+
c = uc.ring_single_heater()
|
|
861
|
+
c = uc.add_fiber_array_pads_rf(c)
|
|
862
|
+
|
|
858
863
|
# c = ring_double(length_y=10)
|
|
859
864
|
# c = ring_with_crossing()
|
|
860
865
|
# c = mmi1x2()
|
|
@@ -869,7 +874,8 @@ if __name__ == "__main__":
|
|
|
869
874
|
# c = spiral()
|
|
870
875
|
# c = mzi_heater()
|
|
871
876
|
# c = ring_double_heater()
|
|
872
|
-
c = ring_single_heater()
|
|
877
|
+
# c = ring_single_heater()
|
|
878
|
+
# c = gc_te1310()
|
|
873
879
|
# c = ebeam_dc_halfring_straight()
|
|
874
880
|
# c = ring_with_crossing()
|
|
875
881
|
# c = ring_single()
|
|
@@ -173,13 +173,16 @@ def import_gds(gdspath, **kwargs):
|
|
|
173
173
|
gdsdir=PATH.gds,
|
|
174
174
|
library="Design kits/ebeam",
|
|
175
175
|
model=gdspath.split(".")[0],
|
|
176
|
-
|
|
176
|
+
post_process=add_ports_from_siepic_pins,
|
|
177
177
|
**kwargs,
|
|
178
178
|
)
|
|
179
179
|
|
|
180
180
|
|
|
181
|
-
def import_gc(gdspath, **kwargs):
|
|
181
|
+
def import_gc(gdspath, info=None, **kwargs):
|
|
182
182
|
c = import_gds(gdspath, **kwargs)
|
|
183
|
+
|
|
184
|
+
if info is not None:
|
|
185
|
+
c.info.update(info)
|
|
183
186
|
return gf.functions.mirror(component=c)
|
|
184
187
|
|
|
185
188
|
|
|
@@ -292,19 +292,19 @@ cladding_offsets_optical_siepic = None
|
|
|
292
292
|
############################
|
|
293
293
|
# Cross-sections functions
|
|
294
294
|
############################
|
|
295
|
-
|
|
296
|
-
strip = partial(
|
|
295
|
+
cross_section = partial(
|
|
297
296
|
gf.cross_section.cross_section,
|
|
298
297
|
add_pins_function_name="add_pins_siepic",
|
|
299
298
|
add_pins_function_module="ubcpdk.tech",
|
|
299
|
+
radius_min=5,
|
|
300
|
+
)
|
|
301
|
+
|
|
302
|
+
strip = partial(
|
|
303
|
+
cross_section,
|
|
300
304
|
cladding_layers=cladding_layers_optical_siepic,
|
|
301
305
|
cladding_offsets=cladding_offsets_optical_siepic,
|
|
302
306
|
)
|
|
303
|
-
strip_unclad =
|
|
304
|
-
gf.cross_section.cross_section,
|
|
305
|
-
add_pins_function_name="add_pins_siepic",
|
|
306
|
-
add_pins_function_module="ubcpdk.tech",
|
|
307
|
-
)
|
|
307
|
+
strip_unclad = strip_simple = cross_section
|
|
308
308
|
strip_heater_metal = partial(
|
|
309
309
|
gf.cross_section.strip_heater_metal,
|
|
310
310
|
layer="WG",
|
|
@@ -316,24 +316,19 @@ strip_heater_metal = partial(
|
|
|
316
316
|
add_pins_function_module="ubcpdk.tech",
|
|
317
317
|
)
|
|
318
318
|
|
|
319
|
-
strip_simple = gf.cross_section.cross_section
|
|
320
319
|
strip_bbox = partial(
|
|
321
|
-
|
|
320
|
+
cross_section,
|
|
322
321
|
bbox_layers=cladding_layers_optical_siepic,
|
|
323
322
|
bbox_offsets=cladding_offsets_optical_siepic,
|
|
324
|
-
add_pins_function_name="add_pins_siepic",
|
|
325
|
-
add_pins_function_module="ubcpdk.tech",
|
|
326
323
|
)
|
|
327
324
|
|
|
328
325
|
metal_routing = partial(
|
|
329
|
-
|
|
326
|
+
cross_section,
|
|
330
327
|
layer=LAYER.M2_ROUTER,
|
|
331
328
|
width=10.0,
|
|
332
329
|
port_names=gf.cross_section.port_names_electrical,
|
|
333
330
|
port_types=gf.cross_section.port_types_electrical,
|
|
334
331
|
radius=None,
|
|
335
|
-
add_pins_function_name="add_pins_siepic_metal",
|
|
336
|
-
add_pins_function_module="ubcpdk.tech",
|
|
337
332
|
)
|
|
338
333
|
heater_metal = partial(
|
|
339
334
|
metal_routing, width=4, layer=LAYER.M1_HEATER, add_pins_function_name=None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|