├── .changelog.d └── changelog_template.jinja ├── .devcontainer ├── Dockerfile ├── Dockerfile.dev └── devcontainer.json ├── .github ├── dependabot.yml ├── release-drafter.yml ├── workflows │ ├── pages.yml │ ├── release-drafter.yml │ ├── release.yml │ ├── require-labels.yml │ └── test_code.yml ├── write_components_autodoc.py └── write_components_plot.py ├── .gitignore ├── .pre-commit-config.yaml ├── CHANGELOG.md ├── LICENSE ├── Makefile ├── README.md ├── docs ├── _config.yml ├── _toc.yml ├── changelog.md ├── components.rst ├── components_plot.rst ├── data_analysis.md ├── index.md ├── layout.md ├── notebooks │ ├── 00_layout.ipynb │ ├── 11_sparameters.ipynb │ ├── 11_sparameters_gratings.ipynb │ ├── 12_sim_plugins_tidy3d.ipynb │ ├── 14_sax_tidy3d.ipynb │ ├── 31_data_analysis_mzi.ipynb │ ├── 32_data_analysis_ring.ipynb │ ├── 33_data_analysis_dbr.ipynb │ ├── Makefile │ ├── sdl_demo.pic.yml │ └── test.schem.yml └── simulations.md ├── install.sh ├── install_tech.py ├── pyproject.toml ├── sparameters ├── bend_euler_radius3_349755f7.npz ├── bend_euler_radius3_349755f7.yml ├── bend_euler_radius3_6ad1d010.npz ├── bend_euler_radius3_6ad1d010.yml ├── bend_euler_radius3_6c2f97b7.csv ├── bend_euler_radius3_6c2f97b7.yml ├── coupler_gap0p13_length8_b7d54138.csv ├── coupler_gap0p13_length8_b7d54138.yml ├── coupler_gap0p13_length8_e8c7ce5e.npz ├── coupler_gap0p13_length8_e8c7ce5e.yml ├── coupler_ring_225c8f23.csv ├── coupler_ring_225c8f23.yml ├── coupler_ring_4778e15a.npz ├── coupler_ring_4778e15a.yml ├── crossing_524beede.csv ├── crossing_524beede.yml ├── ebeam_crossing4_7e264905_216d7d7a.npz ├── ebeam_crossing4_7e264905_216d7d7a.yml ├── ebeam_crossing4_7e264905_524beede.csv ├── ebeam_crossing4_7e264905_524beede.yml ├── ebeam_crossing4_7e264905_c4bd0ed6.npz ├── ebeam_crossing4_7e264905_c4bd0ed6.yml ├── ebeam_gc_te1550_0ec64804.npz ├── ebeam_gc_te1550_0ec64804.yml ├── ebeam_gc_te1550_60e5b3a8.npz ├── ebeam_gc_te1550_60e5b3a8.yml ├── ebeam_gc_te1550_7e264905_2b4c71dd.npz ├── ebeam_gc_te1550_7e264905_2b4c71dd.yml ├── ebeam_gc_te1550_7e264905_60e5b3a8.npz ├── ebeam_gc_te1550_7e264905_60e5b3a8.yml ├── ebeam_gc_te1550_7e264905_d14753ca.npz ├── ebeam_gc_te1550_7e264905_d14753ca.yml ├── ebeam_gc_te1550_7e264905_d9bd5fec.npz ├── ebeam_gc_te1550_7e264905_d9bd5fec.yml ├── ebeam_gc_te1550_985757a9.npz ├── ebeam_gc_te1550_985757a9.yml ├── ebeam_gc_te1550_d14753ca.npz ├── ebeam_gc_te1550_d14753ca.yml ├── ebeam_gc_te1550_d9bd5fec.npz ├── ebeam_gc_te1550_d9bd5fec.yml ├── ebeam_y_1550 │ ├── ebeam_y_1550_1fbf8f67.csv │ └── ebeam_y_1550_1fbf8f67.yml ├── ebeam_y_1550_0d010a6f.npz ├── ebeam_y_1550_0d010a6f.yml ├── ebeam_y_1550_199b0a13b1f667b1e06104a659d324b2.npz ├── ebeam_y_1550_199b0a13b1f667b1e06104a659d324b2.yml ├── ebeam_y_1550_1f494ca0.npz ├── ebeam_y_1550_1f494ca0.yml ├── ebeam_y_1550_20634f71.csv ├── ebeam_y_1550_20634f71.npz ├── ebeam_y_1550_20634f71.yml ├── ebeam_y_1550_21fe4056.csv ├── ebeam_y_1550_21fe4056.yml ├── ebeam_y_1550_39d5288b.npz ├── ebeam_y_1550_39d5288b.yml ├── ebeam_y_1550_63211777.csv ├── ebeam_y_1550_63211777.yml ├── ebeam_y_1550_76acf988.npz ├── ebeam_y_1550_76acf988.yml ├── ebeam_y_1550_7e264905_c3ff7345.npz ├── ebeam_y_1550_7e264905_c3ff7345.yml ├── ebeam_y_1550_912ab8ee.npz ├── ebeam_y_1550_912ab8ee.yml ├── ebeam_y_1550_b9a44b79.csv ├── ebeam_y_1550_b9a44b79.yml ├── ebeam_y_1550_c3ff7345.npz ├── ebeam_y_1550_c3ff7345.yml ├── ebeam_y_1550_d94e5bdc.csv ├── ebeam_y_1550_d94e5bdc.yml ├── ebeam_y_1550_f578394f.npz ├── ebeam_y_1550_f578394f.yml ├── gc_-31.0deg_-5.0um.npz ├── gc_-31.0deg_-5.0um.yml ├── gc_-31.0deg_0.0um.npz ├── gc_-31.0deg_0.0um.yml ├── gc_-31.0deg_5.0um.npz ├── gc_-31.0deg_5.0um.yml ├── gc_te1550.npz ├── gc_te1550.yml ├── mirror_948d7eaf_gc_te1550_0ec64804.npz ├── mirror_948d7eaf_gc_te1550_0ec64804.yml ├── mirror_948d7eaf_gc_te1550_0f8e55d2d79975dd8e8ea4016d3c56a2.npz ├── mirror_948d7eaf_gc_te1550_0f8e55d2d79975dd8e8ea4016d3c56a2.yml ├── mirror_948d7eaf_gc_te1550_26962e480cc055bb0b565a168ba56196.npz ├── mirror_948d7eaf_gc_te1550_26962e480cc055bb0b565a168ba56196.yml ├── mirror_948d7eaf_gc_te1550_60e5b3a8.npz ├── mirror_948d7eaf_gc_te1550_60e5b3a8.yml ├── mirror_948d7eaf_gc_te1550_79ae2c47cfda4d910ad8afc4868758f5.npz ├── mirror_948d7eaf_gc_te1550_79ae2c47cfda4d910ad8afc4868758f5.yml ├── mirror_948d7eaf_gc_te1550_985757a9.npz ├── mirror_948d7eaf_gc_te1550_985757a9.yml ├── mirror_948d7eaf_gc_te1550_d14753ca.npz ├── mirror_948d7eaf_gc_te1550_d14753ca.yml ├── mirror_948d7eaf_gc_te1550_d9bd5fec.npz ├── mirror_948d7eaf_gc_te1550_d9bd5fec.yml ├── mirror_948d7eaf_gc_te1550_f2c68445b4de85cee32e49c0386239aa.npz ├── mirror_948d7eaf_gc_te1550_f2c68445b4de85cee32e49c0386239aa.yml ├── mirror_948d7eaf_gc_te1550_fa1d65ff96e74bb0ba99eb021a049e62.npz ├── mirror_948d7eaf_gc_te1550_fa1d65ff96e74bb0ba99eb021a049e62.yml ├── rotate_f258530e_04b25a3b.csv ├── rotate_f258530e_04b25a3b.yml ├── rotate_f258530e_08088987.csv ├── rotate_f258530e_08088987.yml ├── rotate_f258530e_1933e42f.csv ├── rotate_f258530e_1933e42f.yml ├── rotate_f258530e_39be6f18.csv ├── rotate_f258530e_39be6f18.yml ├── rotate_f258530e_3a26c260.csv ├── rotate_f258530e_3a26c260.yml ├── rotate_f258530e_46e06d33.csv ├── rotate_f258530e_46e06d33.yml ├── rotate_f258530e_49a8fbc1.csv ├── rotate_f258530e_49a8fbc1.yml ├── rotate_f258530e_6292f352.csv ├── rotate_f258530e_6292f352.yml ├── rotate_f258530e_68720cc2.csv ├── rotate_f258530e_68720cc2.yml ├── rotate_f258530e_6ae86fa9.csv ├── rotate_f258530e_6ae86fa9.yml ├── rotate_f258530e_73260aa2.csv ├── rotate_f258530e_73260aa2.yml ├── rotate_f258530e_75dfd42e.csv ├── rotate_f258530e_75dfd42e.yml ├── rotate_f258530e_86a0c5f2.csv ├── rotate_f258530e_86a0c5f2.yml ├── rotate_f258530e_8890572b.csv ├── rotate_f258530e_8890572b.yml ├── rotate_f258530e_8c630bfa.csv ├── rotate_f258530e_8c630bfa.yml ├── rotate_f258530e_8d0ba197.csv ├── rotate_f258530e_8d0ba197.yml ├── rotate_f258530e_8ec78c6d.csv ├── rotate_f258530e_8ec78c6d.yml ├── rotate_f258530e_8f66116d.csv ├── rotate_f258530e_8f66116d.yml ├── rotate_f258530e_9404750c.csv ├── rotate_f258530e_9404750c.yml ├── rotate_f258530e_a2a7ee32.csv ├── rotate_f258530e_a2a7ee32.yml ├── rotate_f258530e_b1a4d58f.csv ├── rotate_f258530e_b1a4d58f.yml ├── rotate_f258530e_b5fb72a1.csv ├── rotate_f258530e_b5fb72a1.yml ├── rotate_f258530e_b70d6a24.csv ├── rotate_f258530e_b70d6a24.yml ├── rotate_f258530e_c156aa56.csv ├── rotate_f258530e_c156aa56.yml ├── rotate_f258530e_cfeae4e8.csv ├── rotate_f258530e_cfeae4e8.yml ├── rotate_f258530e_e0617363.csv ├── rotate_f258530e_e0617363.yml ├── rotate_f258530e_e775c147.csv ├── rotate_f258530e_e775c147.yml ├── rotate_f258530e_f6081c2d.csv ├── rotate_f258530e_f6081c2d.yml ├── rotate_f258530e_f85668d1.csv ├── rotate_f258530e_f85668d1.yml ├── rotate_f258530e_f918bc72.csv ├── rotate_f258530e_f918bc72.yml ├── rotate_f258530e_fa707732.csv ├── rotate_f258530e_fa707732.yml ├── rotate_f258530e_fa7eb155.csv ├── rotate_f258530e_fa7eb155.yml ├── rotate_f258530e_ff85c8d5.csv ├── rotate_f258530e_ff85c8d5.yml ├── straight_73688cd2_strai_c537327e_9b8b3405.csv ├── straight_73688cd2_strai_c537327e_9b8b3405.yml ├── straight_93c28777_strai_ff74a9ef_624baa49.csv ├── straight_93c28777_strai_ff74a9ef_624baa49.yml ├── straight_93c28777_strai_ff74a9ef_9b8b3405.csv ├── straight_93c28777_strai_ff74a9ef_9b8b3405.yml ├── straight_abbbb3de_strai_a6b995e4_74751e6d.csv ├── straight_abbbb3de_strai_a6b995e4_74751e6d.yml ├── straight_f1777396_strai_554f2b19_959b39f7.csv ├── straight_f1777396_strai_554f2b19_959b39f7.yml ├── straight_length3_18b541d4.npz ├── straight_length3_18b541d4.yml ├── straight_length3_4f6248eb.csv ├── straight_length3_4f6248eb.yml ├── straight_length3_8f9504cc.npz ├── straight_length3_8f9504cc.yml ├── straight_length3_d34ef86b690da3f9c50cb80b5cf3ff11.npz ├── straight_length3p1_89092d4a.csv ├── straight_length3p1_89092d4a.yml ├── straight_length3p1_bdd2f6cd.npz └── straight_length3p1_bdd2f6cd.yml ├── tests ├── ref │ ├── bend_euler_bend_euler_CSstrip.gds │ ├── bend_euler_bend_euler_C_31752e67.gds │ ├── bend_s_bend_s_S11_1p8_N_390cd0af.gds │ ├── coupler.gds │ ├── coupler90_coupler90_G0p_591568bb.gds │ ├── coupler_coupler_G0p236__159c01fd.gds │ ├── coupler_coupler_G0p236__a8bdff39.gds │ ├── coupler_coupler_G0p236__c8a179e4.gds │ ├── coupler_ring_coupler_ri_a4309215.gds │ ├── coupler_straight_couple_33ca69a2.gds │ ├── dbr_cavity_dbr_cavity_D_6f81e1fa.gds │ ├── dbr_cavity_te_dbr_cavit_edb4408e.gds │ ├── ebeam_adiabatic_te1550.gds │ ├── ebeam_bdc_te1550.gds │ ├── ebeam_bdc_tm1550.gds │ ├── ebeam_crossing4.gds │ ├── ebeam_crossing4_2ports.gds │ ├── ebeam_splitter_adiabati_1c687ad8.gds │ ├── ebeam_splitter_swg_assist_te1310.gds │ ├── ebeam_splitter_swg_assist_te1550.gds │ ├── ebeam_terminator_te1310.gds │ ├── ebeam_terminator_te1550.gds │ ├── ebeam_terminator_tm1550.gds │ ├── ebeam_y_1550.gds │ ├── ebeam_y_adiabatic.gds │ ├── ebeam_y_adiabatic_1310.gds │ ├── gc_te1310.gds │ ├── gc_te1310_8deg.gds │ ├── gc_te1310_broadband.gds │ ├── gc_te1550.gds │ ├── gc_te1550_90nmSlab.gds │ ├── gc_te1550_broadband.gds │ ├── gc_tm1550.gds │ ├── metal_via.gds │ ├── mmi1x2.gds │ ├── mzi_heater_mzi_heater_DL10_LX320.gds │ ├── pad_array_pad_array_PFp_5efb8756.gds │ ├── pad_pad_S75_75_LM2_ROUT_a24a937f.gds │ ├── photonic_wirebond_surfa_247ccd11.gds │ ├── photonic_wirebond_surfa_4f115197.gds │ ├── ring_double_heater_ring_6237d469.gds │ ├── ring_double_heater_ring_8b1aafcc.gds │ ├── ring_double_ring_double_267a3e9c.gds │ ├── ring_single_dut_ring_si_219403cd.gds │ ├── ring_single_ring_single_82ff2bc7.gds │ ├── spiral_spiral_L100_S3_NL6.gds │ ├── straight_heater_metal_s_3a225c2e.gds │ ├── straight_one_pin_straig_e70a3ed8.gds │ ├── straight_straight_L10_N2_CSstrip.gds │ ├── straight_straight_L10_N_ecd66c66.gds │ ├── taper_taper_L10_W0p5_WN_5cc09a85.gds │ ├── taper_taper_L10_W0p5_WN_c9bd9d3a.gds │ ├── terminator_short_termin_5556f35e.gds │ ├── thermal_phase_shifter_m_6480beac.gds │ ├── thermal_phase_shifter_t_22d678c3.gds │ ├── thermal_phase_shifter_t_75acd1c1.gds │ ├── thermal_phase_shifter_t_ab7ae757.gds │ ├── via_stack_heater_mtop_v_dab7f8ed.gds │ └── wire_corner_wire_corner_a07cee56.gds ├── test_components.py ├── test_components │ ├── test_pdk_settings_bend_.yml │ ├── test_pdk_settings_bend_euler180_.yml │ ├── test_pdk_settings_bend_euler_.yml │ ├── test_pdk_settings_bend_s_.yml │ ├── test_pdk_settings_coupler90_.yml │ ├── test_pdk_settings_coupler_.yml │ ├── test_pdk_settings_coupler_ring_.yml │ ├── test_pdk_settings_coupler_straight_.yml │ ├── test_pdk_settings_dbr_cavity_.yml │ ├── test_pdk_settings_dbr_cavity_te_.yml │ ├── test_pdk_settings_ebeam_adiabatic_te1550_.yml │ ├── test_pdk_settings_ebeam_bdc_te1550_.yml │ ├── test_pdk_settings_ebeam_bdc_tm1550_.yml │ ├── test_pdk_settings_ebeam_crossing4_.yml │ ├── test_pdk_settings_ebeam_crossing4_2ports_.yml │ ├── test_pdk_settings_ebeam_dc_te1550_.yml │ ├── test_pdk_settings_ebeam_splitter_adiabatic_swg_te1550_.yml │ ├── test_pdk_settings_ebeam_splitter_swg_assist_te1310_.yml │ ├── test_pdk_settings_ebeam_splitter_swg_assist_te1550_.yml │ ├── test_pdk_settings_ebeam_terminator_te1310_.yml │ ├── test_pdk_settings_ebeam_terminator_te1550_.yml │ ├── test_pdk_settings_ebeam_terminator_tm1550_.yml │ ├── test_pdk_settings_ebeam_y_1550_.yml │ ├── test_pdk_settings_ebeam_y_adiabatic_.yml │ ├── test_pdk_settings_ebeam_y_adiabatic_1310_.yml │ ├── test_pdk_settings_gc_te1310_.yml │ ├── test_pdk_settings_gc_te1310_8deg_.yml │ ├── test_pdk_settings_gc_te1310_broadband_.yml │ ├── test_pdk_settings_gc_te1550_.yml │ ├── test_pdk_settings_gc_te1550_90nmSlab_.yml │ ├── test_pdk_settings_gc_te1550_broadband_.yml │ ├── test_pdk_settings_gc_tm1550_.yml │ ├── test_pdk_settings_metal_via_.yml │ ├── test_pdk_settings_mmi1x2_.yml │ ├── test_pdk_settings_mzi_heater_.yml │ ├── test_pdk_settings_pad_.yml │ ├── test_pdk_settings_pad_array_.yml │ ├── test_pdk_settings_photonic_wirebond_surfacetaper_1310_.yml │ ├── test_pdk_settings_photonic_wirebond_surfacetaper_1550_.yml │ ├── test_pdk_settings_ring_double_.yml │ ├── test_pdk_settings_ring_double_heater_.yml │ ├── test_pdk_settings_ring_single_.yml │ ├── test_pdk_settings_ring_single_heater_.yml │ ├── test_pdk_settings_ring_with_crossing_.yml │ ├── test_pdk_settings_spiral_.yml │ ├── test_pdk_settings_straight_.yml │ ├── test_pdk_settings_straight_heater_metal_.yml │ ├── test_pdk_settings_straight_one_pin_.yml │ ├── test_pdk_settings_taper_.yml │ ├── test_pdk_settings_terminator_short_.yml │ ├── test_pdk_settings_thermal_phase_shifter0_.yml │ ├── test_pdk_settings_thermal_phase_shifter1_.yml │ ├── test_pdk_settings_thermal_phase_shifter2_.yml │ ├── test_pdk_settings_thermal_phase_shifter3_.yml │ ├── test_pdk_settings_via_stack_heater_mtop_.yml │ └── test_pdk_settings_wire_corner_.yml ├── test_netlists.py └── test_netlists │ ├── test_netlists_bend_.yml │ ├── test_netlists_bend_euler180_.yml │ ├── test_netlists_bend_euler_.yml │ ├── test_netlists_bend_s_.yml │ ├── test_netlists_coupler90_.yml │ ├── test_netlists_coupler_.yml │ ├── test_netlists_coupler_ring_.yml │ ├── test_netlists_coupler_straight_.yml │ ├── test_netlists_dbr_cavity_.yml │ ├── test_netlists_dbr_cavity_te_.yml │ ├── test_netlists_ebeam_bdc_te1550_.yml │ ├── test_netlists_ebeam_bdc_tm1550_.yml │ ├── test_netlists_ebeam_crossing4_.yml │ ├── test_netlists_ebeam_crossing4_2ports_.yml │ ├── test_netlists_ebeam_dc_te1550_.yml │ ├── test_netlists_ebeam_splitter_swg_assist_te1310_.yml │ ├── test_netlists_ebeam_splitter_swg_assist_te1550_.yml │ ├── test_netlists_ebeam_terminator_te1310_.yml │ ├── test_netlists_ebeam_terminator_te1550_.yml │ ├── test_netlists_ebeam_terminator_tm1550_.yml │ ├── test_netlists_ebeam_y_1550_.yml │ ├── test_netlists_ebeam_y_adiabatic_.yml │ ├── test_netlists_ebeam_y_adiabatic_1310_.yml │ ├── test_netlists_gc_te1310_.yml │ ├── test_netlists_gc_te1310_8deg_.yml │ ├── test_netlists_gc_te1310_broadband_.yml │ ├── test_netlists_gc_te1550_.yml │ ├── test_netlists_gc_te1550_90nmSlab_.yml │ ├── test_netlists_gc_te1550_broadband_.yml │ ├── test_netlists_gc_tm1550_.yml │ ├── test_netlists_metal_via_.yml │ ├── test_netlists_mmi1x2_.yml │ ├── test_netlists_mzi_.yml │ ├── test_netlists_mzi_heater_.yml │ ├── test_netlists_pad_.yml │ ├── test_netlists_photonic_wirebond_surfacetaper_1310_.yml │ ├── test_netlists_photonic_wirebond_surfacetaper_1550_.yml │ ├── test_netlists_ring_double_.yml │ ├── test_netlists_ring_double_heater_.yml │ ├── test_netlists_ring_single_.yml │ ├── test_netlists_ring_single_heater_.yml │ ├── test_netlists_ring_with_crossing_.yml │ ├── test_netlists_spiral_.yml │ ├── test_netlists_straight_.yml │ ├── test_netlists_straight_one_pin_.yml │ ├── test_netlists_taper_.yml │ ├── test_netlists_terminator_short_.yml │ ├── test_netlists_thermal_phase_shifter0_.yml │ ├── test_netlists_thermal_phase_shifter1_.yml │ ├── test_netlists_thermal_phase_shifter2_.yml │ └── test_netlists_thermal_phase_shifter3_.yml ├── ubcpdk ├── README.md ├── __init__.py ├── components.py ├── config.py ├── data │ ├── __init__.py │ ├── chop.py │ ├── convert_to_pandas.py │ ├── dbr.md │ ├── dbr.py │ ├── find_bandwidth.py │ ├── read_mat.py │ ├── remove_baseline.py │ └── windowed_mean.py ├── gds │ ├── ANT │ │ ├── ebeam_splitter_swg_assist_te1310_ANT.GDS │ │ └── ebeam_splitter_swg_assist_te1550_ANT.GDS │ ├── Alignment_Marker.GDS │ ├── EBeam │ │ ├── GCs_BB.gds │ │ ├── ebeam_adiabatic_te1550.gds │ │ ├── ebeam_adiabatic_tm1550.gds │ │ ├── ebeam_bdc_te1550.gds │ │ ├── ebeam_crossing4.gds │ │ ├── ebeam_gc_te1550.gds │ │ ├── ebeam_gc_tm1550.gds │ │ ├── ebeam_splitter_swg_assist_te1310.gds │ │ ├── ebeam_splitter_swg_assist_te1550.gds │ │ ├── ebeam_terminator_te1310.gds │ │ ├── ebeam_terminator_te1550.gds │ │ ├── ebeam_terminator_tm1550.gds │ │ ├── ebeam_y_1550.gds │ │ ├── ebeam_y_adiabatic.gds │ │ ├── taper_si_simm_1310.gds │ │ └── taper_si_simm_1550.gds │ ├── EBeam_Beta │ │ ├── Alignment_Marker.GDS │ │ ├── Packaging_FibreArray_8ch.gds │ │ ├── SEM_example.gds │ │ ├── ebeam_BondPad.gds │ │ ├── ebeam_bdc_tm1550.gds │ │ ├── ebeam_gc_te1310.gds │ │ ├── ebeam_gc_te1310_8deg.gds │ │ ├── ebeam_gc_te1310_broadband.gds │ │ ├── ebeam_gc_te1550_90nmSlab.gds │ │ ├── ebeam_gc_te1550_broadband.GDS │ │ ├── ebeam_splitter_adiabatic_swg_te1550.gds │ │ ├── ebeam_swg_edgecoupler.gds │ │ ├── ebeam_terminator_te1310.gds │ │ ├── ebeam_y_adiabatic_1310.gds │ │ ├── metal_via.gds │ │ ├── photonic_wirebond_surfacetaper_1310.gds │ │ ├── photonic_wirebond_surfacetaper_1550.gds │ │ ├── siepic_o_gc_te1270_BB.GDS │ │ ├── siepic_o_pwbstlas_si_BB.GDS │ │ └── thermal_phase_shifters.gds │ ├── EBeam_SiN │ │ └── ebeam_BondPad.gds │ ├── Packaging_FibreArray_8ch.gds │ ├── SEM_example.gds │ ├── ebeam_BondPad.gds │ ├── ebeam_adiabatic_te1550.gds │ ├── ebeam_adiabatic_tm1550.gds │ ├── ebeam_bdc_te1550.gds │ ├── ebeam_bdc_tm1550.gds │ ├── ebeam_crossing4.gds │ ├── ebeam_gc_te1310.gds │ ├── ebeam_gc_te1310_8deg.gds │ ├── ebeam_gc_te1310_broadband.gds │ ├── ebeam_gc_te1550.gds │ ├── ebeam_gc_te1550_90nmSlab.gds │ ├── ebeam_gc_te1550_broadband.gds │ ├── ebeam_gc_tm1550.gds │ ├── ebeam_splitter_adiabatic_swg_te1550.gds │ ├── ebeam_splitter_swg_assist_te1310.gds │ ├── ebeam_splitter_swg_assist_te1550.gds │ ├── ebeam_swg_edgecoupler.gds │ ├── ebeam_terminator_te1310.gds │ ├── ebeam_terminator_te1550.gds │ ├── ebeam_terminator_tm1550.gds │ ├── ebeam_y_1550.gds │ ├── ebeam_y_adiabatic.gds │ ├── ebeam_y_adiabatic_1310.gds │ ├── metal_via.gds │ ├── photonic_wirebond_surfacetaper_1310.gds │ ├── photonic_wirebond_surfacetaper_1550.gds │ └── thermal_phase_shifters.gds ├── import_gds.py ├── import_pdk.py ├── klayout │ └── tech │ │ ├── drc │ │ ├── ELEC463 Doping.lydrc │ │ ├── ELEC463 Metal Heater.lydrc │ │ └── SiEPIC_EBeam_DRC.lyp │ │ ├── layers.lyp │ │ ├── layers2.lyp │ │ ├── pymacros │ │ ├── klayout_Library.lym │ │ └── set_menus.lym │ │ └── tech.lyt ├── layers.yaml ├── models.py ├── samples │ ├── data │ │ ├── bragg │ │ │ ├── ELEC_413_lukasc_BraggSet1Num10_1272.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num11_1273.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num12_1271.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num13_1278.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num14_1276.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num15_1277.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num16_1275.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num17_1282.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num18_1280.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num19_1281.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num1_1266.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num20_1279.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num21_1286.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num22_1284.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num23_1285.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num24_1283.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num2_1264.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num3_1265.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num4_1263.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num5_1270.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num6_1268.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num7_1269.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num8_1267.mat │ │ │ ├── ELEC_413_lukasc_BraggSet1Num9_1274.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num10_1248.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num11_1249.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num12_1247.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num13_1254.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num14_1252.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num15_1253.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num16_1251.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num17_1258.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num18_1256.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num19_1257.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num1_1242.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num20_1255.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num21_1262.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num22_1260.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num23_1261.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num24_1259.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num2_1240.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num3_1241.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num4_1239.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num5_1246.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num6_1244.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num7_1245.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num8_1243.mat │ │ │ ├── ELEC_413_lukasc_BraggSet2Num9_1250.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num10_1200.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num11_1201.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num12_1199.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num13_1206.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num14_1204.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num15_1205.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num16_1203.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num17_1210.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num18_1208.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num19_1209.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num1_1194.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num20_1207.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num21_1214.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num22_1212.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num23_1213.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num24_1211.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num2_1192.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num3_1193.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num4_1191.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num5_1198.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num6_1196.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num7_1197.mat │ │ │ ├── ELEC_413_lukasc_BraggSet4Num8_1195.mat │ │ │ └── ELEC_413_lukasc_BraggSet4Num9_1202.mat │ │ ├── mzi │ │ │ ├── EB486A_URChip3Coords.txt │ │ │ ├── EB486A_URChip3Coords1.txt │ │ │ ├── LukasChrostowski_MZI1_135_Scan1.mat │ │ │ ├── LukasChrostowski_MZI2_136_Scan1.mat │ │ │ ├── README.md │ │ │ ├── ZiheGao_MZI17_265_Scan1.mat │ │ │ ├── ZiheGao_MZI1_272_Scan1.mat │ │ │ ├── ZiheGao_MZI1_273_Scan1.mat │ │ │ ├── ZiheGao_MZI2_271_Scan1.mat │ │ │ ├── ZiheGao_MZI3_270_Scan1.mat │ │ │ ├── ZiheGao_MZI4_269_Scan1.mat │ │ │ ├── ZiheGao_MZI5_268_Scan1.mat │ │ │ ├── ZiheGao_MZI6_267_Scan1.mat │ │ │ └── ZiheGao_MZI8_266_Scan1.mat │ │ └── ring │ │ │ ├── LukasC_RingDoubleTER10g100_1495.mat │ │ │ ├── LukasC_RingDoubleTER10g150_1494.mat │ │ │ ├── LukasC_RingDoubleTER10g200_1493.mat │ │ │ ├── LukasC_RingDoubleTER10g50_1496.mat │ │ │ ├── LukasC_RingDoubleTER3g100_1498.mat │ │ │ ├── LukasC_RingDoubleTER3g150_1497.mat │ │ │ ├── LukasC_RingDoubleTMR30g150_1492.mat │ │ │ ├── LukasC_RingDoubleTMR30g200_1491.mat │ │ │ ├── LukasC_RingDoubleTMR30g250_1490.mat │ │ │ └── lukasc_RingResonator.txt │ ├── test_circuit_simulations.py │ ├── test_rings.py │ ├── test_ubc1.py │ ├── test_ubc2.py │ ├── test_ubc3.py │ ├── test_ubc4.py │ └── test_ubc5.py ├── simulation │ ├── __init__.py │ ├── circuits │ │ ├── __init__.py │ │ ├── mzi_spectrum.py │ │ └── waveguide.py │ ├── find_neff_vs_width.csv │ ├── lumerical │ │ ├── EBeam.cml │ │ └── lumerical_process_file.lbr │ └── modes_waveguide.py └── tech.py ├── update_source.sh └── uv.lock /.changelog.d/changelog_template.jinja: -------------------------------------------------------------------------------- 1 | {% if sections[""] %} 2 | {% for category, val in definitions.items() if category in sections[""] %} 3 | 4 | ### {{ definitions[category]['name'] }} 5 | 6 | {% for text, values in sections[""][category].items() %} 7 | - {{ text }} {{ values | join(', ') }} 8 | {% endfor %} 9 | 10 | {% endfor %} 11 | {% else %} 12 | No significant changes. 13 | 14 | 15 | {% endif %} 16 | -------------------------------------------------------------------------------- /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM joamatab/gdsfactory:latest 2 | -------------------------------------------------------------------------------- /.devcontainer/Dockerfile.dev: -------------------------------------------------------------------------------- 1 | FROM jupyter/base-notebook:python-3.8.8 2 | # FROM jupyter/base-notebook 3 | # FROM continuumio/miniconda3 4 | 5 | # expose klive and Jupyter Notebook ports 6 | EXPOSE 8082 7 | EXPOSE 8083 8 | EXPOSE 8888 9 | 10 | USER root 11 | RUN apt-get update --yes && \ 12 | apt-get install --yes --no-install-recommends \ 13 | make \ 14 | git \ 15 | htop \ 16 | neovim 17 | 18 | USER jovyan 19 | # COPY . /home/jovyan/gdfactory 20 | COPY --chown=jovyan docs/notebooks /home/jovyan/notebooks 21 | #COPY docs/notebooks/00__git.ipynb /home/jovyan/ 22 | RUN conda init bash 23 | 24 | # RUN git clone https://github.com/gdsfactory/gdsfactory.git 25 | # USER ${NB_UID} 26 | # RUN apt update 27 | # RUN apt install gcc 28 | # RUN conda install -c conda-forge pymeep -y 29 | 30 | RUN mamba install gdstk -y 31 | RUN mamba install gdspy -y 32 | RUN mamba install pymeep=*=mpi_mpich_* -y 33 | 34 | RUN pip install gdsfactory[full,gmsh,tidy3d,devsim,meow,sax] 35 | WORKDIR /home/jovyan 36 | # VOLUME /home/jovyan/work 37 | -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "image": "mcr.microsoft.com/devcontainers/universal:2", 3 | "hostRequirements": { 4 | "cpus": 4 5 | }, 6 | "waitFor": "onCreateCommand", 7 | "updateContentCommand": "python3 -m pip install ubcpdk --upgrade", 8 | "postCreateCommand": "", 9 | "customizations": { 10 | "codespaces": { 11 | "openFiles": [] 12 | }, 13 | "vscode": { 14 | "extensions": [ 15 | "ms-toolsai.jupyter", 16 | "ms-python.python" 17 | ] 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "pip" 4 | directory: "/" # Location of package manifests 5 | schedule: 6 | interval: "daily" 7 | 8 | - package-ecosystem: github-actions 9 | directory: / 10 | schedule: 11 | interval: monthly 12 | -------------------------------------------------------------------------------- /.github/workflows/pages.yml: -------------------------------------------------------------------------------- 1 | name: build docs 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: 7 | - main 8 | workflow_dispatch: 9 | 10 | concurrency: 11 | group: ${{ github.workflow }}-${{ github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | build-docs: 16 | runs-on: ubuntu-latest 17 | container: ghcr.io/gdsfactory/gdsfactory:main 18 | steps: 19 | - uses: actions/checkout@v4 20 | - name: Installing the library 21 | env: 22 | TIDY3D_USER: ${{ secrets.TIDY3D_EMAIL }} 23 | TIDY3D_PASS: ${{ secrets.TIDY3D_PASSWORD }} 24 | SIMCLOUD_APIKEY: ${{ secrets.SIMCLOUD_APIKEY }} 25 | DISPLAY: 1.0 26 | DOCS: True 27 | GDSFACTORY_DISPLAY_TYPE: klayout 28 | shell: bash -l {0} 29 | run: | 30 | make install 31 | make docs 32 | - name: Upload artifact 33 | uses: actions/upload-pages-artifact@v3 34 | with: 35 | path: "./docs/_build/html/" 36 | 37 | deploy-docs: 38 | needs: build-docs 39 | if: ${{ github.ref == 'refs/heads/main' }} 40 | permissions: 41 | pages: write 42 | id-token: write 43 | 44 | environment: 45 | name: github-pages 46 | url: ${{ steps.deployment.outputs.page_url }} 47 | 48 | runs-on: ubuntu-latest 49 | steps: 50 | - name: Deploy to GitHub Pages 51 | id: deployment 52 | uses: actions/deploy-pages@v4 53 | -------------------------------------------------------------------------------- /.github/workflows/release-drafter.yml: -------------------------------------------------------------------------------- 1 | name: Release Drafter and Labels 2 | on: 3 | push: 4 | branches: 5 | - main 6 | pull_request: 7 | types: [edited, opened, reopened, synchronize, unlabeled, labeled] 8 | permissions: 9 | contents: read 10 | jobs: 11 | update_release_draft: 12 | permissions: 13 | contents: write 14 | pull-requests: write 15 | runs-on: ubuntu-latest 16 | steps: 17 | # Drafts your next Release notes as Pull Requests are merged into "master" 18 | - uses: release-drafter/release-drafter@v6 19 | env: 20 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 21 | require_label: 22 | if: github.event.pull_request 23 | needs: update_release_draft 24 | runs-on: ubuntu-latest 25 | permissions: 26 | issues: write 27 | pull-requests: write 28 | steps: 29 | - uses: mheap/github-action-required-labels@v5 30 | with: 31 | mode: minimum 32 | count: 1 33 | labels: "breaking, bug, github_actions, documentation, dependencies, enhancement, feature, maintenance, security" 34 | add_comment: true 35 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release package 2 | 3 | on: 4 | push: 5 | tags: "v*" 6 | 7 | jobs: 8 | release_pypi: 9 | if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') 10 | runs-on: ubuntu-latest 11 | container: ghcr.io/gdsfactory/gdsfactory:main 12 | steps: 13 | - uses: actions/checkout@v4 14 | - name: Install dependencies 15 | run: | 16 | python -m pip install --upgrade pip 17 | pip install setuptools wheel twine 18 | - name: Build and publish 19 | env: 20 | TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} 21 | TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} 22 | run: | 23 | make build 24 | twine upload dist/* 25 | release_environment: 26 | if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') 27 | runs-on: ubuntu-latest 28 | container: ghcr.io/gdsfactory/gdsfactory:main 29 | permissions: 30 | contents: write 31 | steps: 32 | - uses: actions/checkout@v4 33 | - name: Install dependencies 34 | run: | 35 | pip install . 36 | pip freeze > requirements.txt 37 | - name: Publish Latest Draft 38 | run: | 39 | gh release edit ${{ github.ref_name }} --draft=false 40 | gh release upload ${{ github.ref_name }} requirements.txt --clobber 41 | env: 42 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 43 | -------------------------------------------------------------------------------- /.github/workflows/require-labels.yml: -------------------------------------------------------------------------------- 1 | name: Pull Request Labels 2 | on: 3 | pull_request: 4 | types: [opened, labeled, unlabeled, synchronize] 5 | jobs: 6 | label: 7 | runs-on: ubuntu-latest 8 | permissions: 9 | issues: write 10 | pull-requests: write 11 | steps: 12 | - uses: mheap/github-action-required-labels@v5 13 | with: 14 | mode: minimum 15 | count: 1 16 | labels: "breaking, bug, github_actions, documentation, dependencies, enhancement, feature, maintenance, security" 17 | add_comment: true 18 | -------------------------------------------------------------------------------- /.github/workflows/test_code.yml: -------------------------------------------------------------------------------- 1 | name: Test code 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: 7 | - main 8 | 9 | jobs: 10 | pre-commit: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v4 14 | - name: Set up Python 15 | uses: actions/setup-python@v5 16 | with: 17 | python-version: "3.10" 18 | - name: Test pre-commit hooks 19 | run: | 20 | python -m pip install --upgrade pip 21 | pip install pre-commit 22 | pre-commit run -a 23 | test_code: 24 | runs-on: ubuntu-latest 25 | container: ghcr.io/gdsfactory/gdsfactory:main 26 | steps: 27 | - uses: actions/checkout@v4 28 | - name: Install dependencies 29 | run: | 30 | make install 31 | - name: Test with pytest 32 | run: pytest tests/ 33 | test_code_coverage: 34 | runs-on: ubuntu-latest 35 | container: ghcr.io/gdsfactory/gdsfactory:main 36 | steps: 37 | - uses: actions/checkout@v4 38 | - name: Install dependencies 39 | run: | 40 | make install 41 | - name: Test with pytest 42 | run: | 43 | pytest --cov=ubcpdk tests/ 44 | - name: Upload coverage to Codecov 45 | uses: codecov/codecov-action@v4 46 | with: 47 | token: ${{ secrets.CODECOV_TOKEN }} 48 | fail_ci_if_error: true 49 | -------------------------------------------------------------------------------- /.github/write_components_autodoc.py: -------------------------------------------------------------------------------- 1 | import inspect 2 | 3 | import ubcpdk 4 | from ubcpdk.config import PATH 5 | 6 | filepath = PATH.repo / "docs" / "components.rst" 7 | 8 | skip = { 9 | "LIBRARY", 10 | "circuit_names", 11 | "cells", 12 | "component_names", 13 | "container_names", 14 | "component_names_test_ports", 15 | "component_names_skip_test", 16 | "component_names_skip_test_ports", 17 | "dataclasses", 18 | "library", 19 | "waveguide_template", 20 | "add_ports_m1", 21 | "add_ports_m2", 22 | "add_ports", 23 | "import_gds", 24 | } 25 | 26 | skip_plot = {} 27 | skip_settings = {"flatten", "safe_cell_names"} 28 | 29 | 30 | with open(filepath, "w+") as f: 31 | f.write( 32 | """ 33 | 34 | Cells summary 35 | ============================= 36 | 37 | .. currentmodule:: ubcpdk.components 38 | 39 | .. autosummary:: 40 | :toctree: _autosummary/ 41 | 42 | """ 43 | ) 44 | 45 | for name in sorted(ubcpdk.cells.keys()): 46 | if name in skip or name.startswith("_"): 47 | continue 48 | print(name) 49 | sig = inspect.signature(ubcpdk.cells[name]) 50 | kwargs = ", ".join( 51 | [ 52 | f"{p}={repr(sig.parameters[p].default)}" 53 | for p in sig.parameters 54 | if isinstance(sig.parameters[p].default, int | float | str | tuple) 55 | and p not in skip_settings 56 | ] 57 | ) 58 | f.write(f" {name}\n") 59 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | repos: 2 | - repo: https://github.com/pre-commit/pre-commit-hooks 3 | rev: v4.6.0 4 | hooks: 5 | - id: check-yaml 6 | exclude: ^(conda\.recipe/meta\.yaml|conda_build/templates/.*\.yaml|docs/click/meta\.yaml|conda/meta\.yaml|conda/construct.yaml|.*\.pic\.yml|conda/constructor/Miniforge3/construct.yaml) 7 | - id: end-of-file-fixer 8 | - id: trailing-whitespace 9 | - repo: https://github.com/kynan/nbstripout 10 | rev: 0.8.0 11 | hooks: 12 | - id: nbstripout 13 | files: ".ipynb" 14 | 15 | - repo: https://github.com/codespell-project/codespell 16 | rev: v2.2.6 17 | hooks: 18 | - id: codespell 19 | additional_dependencies: 20 | - tomli 21 | 22 | - repo: https://github.com/astral-sh/ruff-pre-commit 23 | rev: "v0.7.2" 24 | hooks: 25 | - id: ruff 26 | args: [--fix, --exit-non-zero-on-fix] 27 | - id: ruff-format 28 | 29 | - repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks 30 | rev: v2.14.0 31 | hooks: 32 | - id: pretty-format-toml 33 | args: [--autofix] 34 | 35 | - repo: https://github.com/aristanetworks/j2lint.git 36 | rev: v1.1.0 37 | hooks: 38 | - id: j2lint 39 | types: [file] 40 | files: \.(j2|yml|yaml)$ 41 | exclude: .github/.* 42 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2020 gdsfactory 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | install: 2 | pip install -e .[dev,docs] 3 | python install_tech.py 4 | 5 | dev: 6 | uv venv -p 3.12 7 | uv sync --all-extras 8 | uv run pre-commit install 9 | 10 | update-pre: 11 | pre-commit autoupdate 12 | 13 | tech: 14 | python install_tech.py 15 | 16 | test: 17 | pytest -s 18 | 19 | uv-test: 20 | uv run pytest -s 21 | 22 | cov: 23 | pytest --cov=ubcpdk 24 | 25 | git-rm-merged: 26 | git branch -D `git branch --merged | grep -v \* | xargs` 27 | 28 | meep: 29 | conda install -n base conda-libmamba-solver 30 | conda config --set solver libmamba 31 | conda install -c conda-forge pymeep=*=mpi_mpich_* nlopt -y 32 | 33 | release: 34 | git push 35 | git push origin --tags 36 | 37 | build: 38 | rm -rf dist 39 | pip install build 40 | python -m build 41 | 42 | docs: 43 | jb build docs 44 | 45 | mask: 46 | python ubcpdk/samples/test_masks.py 47 | 48 | .PHONY: drc doc docs install 49 | -------------------------------------------------------------------------------- /docs/_toc.yml: -------------------------------------------------------------------------------- 1 | # Table of contents 2 | # Learn more at https://jterbook.org/customize/toc.html 3 | 4 | format: jb-book 5 | root: index 6 | parts: 7 | - caption: Introduction 8 | chapters: 9 | - file: tech 10 | - file: components 11 | - file: components_plot 12 | - file: layout 13 | sections: 14 | - file: notebooks/00_layout 15 | - file: notebooks/21_schematic_driven_layout 16 | - file: simulations 17 | sections: 18 | - file: notebooks/11_sparameters 19 | - file: notebooks/11_sparameters_gratings 20 | - file: notebooks/12_sim_plugins_tidy3d 21 | - file: notebooks/13_sim_plugins 22 | - file: notebooks/14_sax_tidy3d 23 | - file: data_analysis 24 | sections: 25 | - file: notebooks/31_data_analysis_mzi 26 | - file: notebooks/32_data_analysis_ring 27 | - file: notebooks/33_data_analysis_dbr 28 | - caption: Reference 29 | chapters: 30 | - file: changelog 31 | - url: https://gdsfactory.github.io/gplugins/ 32 | title: Plugins 33 | - url: https://gdsfactory.github.io/gdsfactory 34 | title: gdsfactory 35 | - url: https://gdsfactory.github.io/gdsfactory-photonics-training/ 36 | title: gdsfactory-photonics-training 37 | -------------------------------------------------------------------------------- /docs/changelog.md: -------------------------------------------------------------------------------- 1 | ```{include} ../CHANGELOG.md 2 | ``` 3 | -------------------------------------------------------------------------------- /docs/data_analysis.md: -------------------------------------------------------------------------------- 1 | # Data Analysis 2 | 3 | ```{tableofcontents} 4 | ``` 5 | -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | ```{include} ../README.md 2 | ``` 3 | -------------------------------------------------------------------------------- /docs/layout.md: -------------------------------------------------------------------------------- 1 | # Layout Tutorial 2 | 3 | 4 | 5 | ```{tableofcontents} 6 | ``` 7 | -------------------------------------------------------------------------------- /docs/notebooks/32_data_analysis_ring.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "id": "0", 6 | "metadata": {}, 7 | "source": [ 8 | "# Data analysis ring\n", 9 | "\n", 10 | "We analyze the following ring samples from the edx course\n", 11 | "\n", 12 | "Double-bus ring resonators\n", 13 | "symmetrically coupled\n", 14 | "\n", 15 | "TE:\n", 16 | "R = [3]\n", 17 | "g = [50, 100, 150]\n", 18 | "\n", 19 | "R = [10]\n", 20 | "g = [50, 100, 150, 200]\n", 21 | "\n", 22 | "TM:\n", 23 | "R = [30]\n", 24 | "g = [150, 200, 250]" 25 | ] 26 | }, 27 | { 28 | "cell_type": "code", 29 | "execution_count": null, 30 | "id": "1", 31 | "metadata": { 32 | "attributes": { 33 | "classes": [], 34 | "id": "", 35 | "n": "2" 36 | } 37 | }, 38 | "outputs": [], 39 | "source": [ 40 | "import matplotlib.pyplot as plt\n", 41 | "\n", 42 | "import ubcpdk" 43 | ] 44 | }, 45 | { 46 | "cell_type": "code", 47 | "execution_count": null, 48 | "id": "2", 49 | "metadata": { 50 | "attributes": { 51 | "classes": [], 52 | "id": "", 53 | "n": "3" 54 | } 55 | }, 56 | "outputs": [], 57 | "source": [ 58 | "w, p = ubcpdk.data.read_mat(ubcpdk.PATH.ring_te_r3_g100, port=0)\n", 59 | "plt.plot(w * 1e9, p)" 60 | ] 61 | } 62 | ], 63 | "metadata": { 64 | "kernelspec": { 65 | "display_name": "Python 3 (ipykernel)", 66 | "language": "python", 67 | "name": "python3" 68 | } 69 | }, 70 | "nbformat": 4, 71 | "nbformat_minor": 5 72 | } 73 | -------------------------------------------------------------------------------- /docs/notebooks/Makefile: -------------------------------------------------------------------------------- 1 | format: 2 | jupytext --pipe black *.ipynb 3 | 4 | sync: 5 | jupytext --sync *.ipynb 6 | 7 | convert: 8 | jupytext *.ipynb --to *.py 9 | 10 | clean: 11 | nbstripout --drop-empty-cells *.ipynb 12 | nbstripout --drop-empty-cells **/*.ipynb 13 | -------------------------------------------------------------------------------- /docs/notebooks/test.schem.yml: -------------------------------------------------------------------------------- 1 | schema: null 2 | instances: 3 | mmi1: 4 | component: mmi1x2 5 | settings: {gap_mmi: 1.0} 6 | mmi2: 7 | component: mmi2x2 8 | settings: {gap_mmi: 0.7} 9 | s1: 10 | component: straight 11 | settings: {length: 20, npoints: 2, layer: null, width: null, add_pins: true, cross_section: xs_sc, 12 | add_bbox: null, post_process: null} 13 | s2: 14 | component: straight 15 | settings: {length: 40, npoints: 2, layer: null, width: null, add_pins: true, cross_section: xs_sc, 16 | add_bbox: null, post_process: null} 17 | schematic_placements: 18 | mmi1: {x: null, y: null, port: null, rotation: 0.0, dx: -22.832156230736544, dy: -0.9358105716724547, 19 | mirror: null} 20 | mmi2: {x: null, y: null, port: null, rotation: 0.0, dx: 130.94675850281985, dy: -0.39903161225107286, 21 | mirror: null} 22 | s1: {x: null, y: null, port: null, rotation: 0.0, dx: 55.26042176045793, dy: 32.1189871057287, 23 | mirror: null} 24 | s2: {x: null, y: null, port: null, rotation: 0.0, dx: 44.25454877902524, dy: -45.88086750118762, 25 | mirror: null} 26 | nets: 27 | - ['mmi1,o2', 's1,o1'] 28 | - ['mmi2,o2', 's1,o2'] 29 | - ['mmi1,o3', 's2,o1'] 30 | - ['mmi2,o1', 's2,o2'] 31 | ports: {o1: 'mmi1,o1', o2: 'mmi2,o3', o3: 'mmi2,o4'} 32 | schema_version: 1 33 | -------------------------------------------------------------------------------- /docs/simulations.md: -------------------------------------------------------------------------------- 1 | # Simulations 2 | 3 | ```{tableofcontents} 4 | ``` 5 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | pip install -e . 4 | pip install pre-commit 5 | pre-commit install 6 | python install_tech.py 7 | -------------------------------------------------------------------------------- /install_tech.py: -------------------------------------------------------------------------------- 1 | """Symlink tech to klayout.""" 2 | 3 | import os 4 | import pathlib 5 | import shutil 6 | import sys 7 | 8 | 9 | def remove_path_or_dir(dest: pathlib.Path): 10 | if dest.is_dir(): 11 | os.unlink(dest) 12 | else: 13 | os.remove(dest) 14 | 15 | 16 | def make_link(src, dest, overwrite: bool = True) -> None: 17 | dest = pathlib.Path(dest) 18 | if dest.exists() and not overwrite: 19 | print(f"{dest} already exists") 20 | return 21 | if dest.exists() or dest.is_symlink(): 22 | print(f"removing {dest} already installed") 23 | remove_path_or_dir(dest) 24 | try: 25 | os.symlink(src, dest, target_is_directory=True) 26 | except OSError: 27 | shutil.copy(src, dest) 28 | print("link made:") 29 | print(f"From: {src}") 30 | print(f"To: {dest}") 31 | 32 | 33 | if __name__ == "__main__": 34 | klayout_folder = "KLayout" if sys.platform == "win32" else ".klayout" 35 | cwd = pathlib.Path(__file__).resolve().parent 36 | home = pathlib.Path.home() 37 | src = cwd / "ubcpdk" / "klayout" / "tech" 38 | dest_folder = home / klayout_folder / "tech" 39 | dest_folder.mkdir(exist_ok=True, parents=True) 40 | dest = dest_folder / "ubcpdk" 41 | make_link(src=src, dest=dest) 42 | -------------------------------------------------------------------------------- /sparameters/bend_euler_radius3_349755f7.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/bend_euler_radius3_349755f7.npz -------------------------------------------------------------------------------- /sparameters/bend_euler_radius3_6ad1d010.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/bend_euler_radius3_6ad1d010.npz -------------------------------------------------------------------------------- /sparameters/coupler_gap0p13_length8_e8c7ce5e.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/coupler_gap0p13_length8_e8c7ce5e.npz -------------------------------------------------------------------------------- /sparameters/coupler_ring_4778e15a.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/coupler_ring_4778e15a.npz -------------------------------------------------------------------------------- /sparameters/crossing_524beede.yml: -------------------------------------------------------------------------------- 1 | resolution: 20 2 | port_symmetries: 3 | o1: 4 | s11: 5 | - s22 6 | - s33 7 | - s44 8 | s21: 9 | - s12 10 | - s34 11 | - s43 12 | s31: 13 | - s13 14 | - s24 15 | - s42 16 | s41: 17 | - s14 18 | - s23 19 | - s32 20 | wavelength_start: 1.5 21 | wavelength_stop: 1.6 22 | wavelength_points: 50 23 | port_margin: 2 24 | port_monitor_offset: -0.1 25 | port_source_offset: -0.1 26 | dispersive: false 27 | ymargin_top: 0.0 28 | ymargin_bot: 0.0 29 | xmargin_left: 0 30 | xmargin_right: 0 31 | layer_stack: 32 | strip: 33 | layer: 34 | - 1 35 | - 0 36 | thickness: 0.22 37 | zmin: 0.0 38 | material: si 39 | sidewall_angle: 0 40 | strip2: 41 | layer: 42 | - 31 43 | - 0 44 | thickness: 0.22 45 | zmin: 0.0 46 | material: si 47 | sidewall_angle: 0 48 | component: 49 | name: crossing 50 | version: 0.0.1 51 | settings: 52 | name: crossing 53 | module: gdsfactory.components.crossing_waveguide 54 | function_name: crossing 55 | info: {} 56 | info_version: 2 57 | full: 58 | arm: 59 | function: crossing_arm 60 | cross_section: strip 61 | changed: {} 62 | default: 63 | arm: 64 | function: crossing_arm 65 | cross_section: strip 66 | child: null 67 | compute_time_seconds: 2.94905424118042 68 | compute_time_minutes: 0.04915090401967367 69 | -------------------------------------------------------------------------------- /sparameters/ebeam_crossing4_7e264905_216d7d7a.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_crossing4_7e264905_216d7d7a.npz -------------------------------------------------------------------------------- /sparameters/ebeam_crossing4_7e264905_216d7d7a.yml: -------------------------------------------------------------------------------- 1 | resolution: 20 2 | port_symmetries: 3 | o1@0,o1@0: 4 | - o2@0,o2@0 5 | - o3@0,o3@0 6 | - o4@0,o4@0 7 | o2@0,o1@0: 8 | - o1@0,o2@0 9 | - o3@0,o4@0 10 | - o4@0,o3@0 11 | o3@0,o1@0: 12 | - o1@0,o3@0 13 | - o2@0,o4@0 14 | - o4@0,o2@0 15 | o4@0,o1@0: 16 | - o1@0,o4@0 17 | - o2@0,o3@0 18 | - o3@0,o2@0 19 | wavelength_start: 1.5 20 | wavelength_stop: 1.6 21 | wavelength_points: 50 22 | port_margin: 2 23 | port_monitor_offset: -0.1 24 | port_source_offset: -0.1 25 | dispersive: false 26 | ymargin_top: 0.0 27 | ymargin_bot: 0.0 28 | xmargin_left: 0 29 | xmargin_right: 0 30 | is_3d: false 31 | layer_stack: 32 | strip: 33 | layer: 34 | - 1 35 | - 0 36 | thickness: 0.22 37 | zmin: 0.0 38 | material: si 39 | sidewall_angle: 0 40 | info: {} 41 | strip2: 42 | layer: 43 | - 31 44 | - 0 45 | thickness: 0.22 46 | zmin: 0.0 47 | material: si 48 | sidewall_angle: 0 49 | info: {} 50 | component: 51 | name: ebeam_crossing4_7e264905 52 | settings: 53 | name: ebeam_crossing4_7e264905 54 | module: ubcpdk.components 55 | function_name: ebeam_crossing4 56 | info: 57 | library: Design kits/ebeam 58 | model: ebeam_crossing4 59 | info_version: 2 60 | full: 61 | decorator: 62 | function: auto_rename_ports 63 | changed: 64 | decorator: 65 | function: auto_rename_ports 66 | default: {} 67 | child: null 68 | compute_time_seconds: 85.7315936088562 69 | compute_time_minutes: 1.4288598934809367 70 | -------------------------------------------------------------------------------- /sparameters/ebeam_crossing4_7e264905_524beede.yml: -------------------------------------------------------------------------------- 1 | resolution: 20 2 | port_symmetries: 3 | o1: 4 | s11: 5 | - s22 6 | - s33 7 | - s44 8 | s21: 9 | - s12 10 | - s34 11 | - s43 12 | s31: 13 | - s13 14 | - s24 15 | - s42 16 | s41: 17 | - s14 18 | - s23 19 | - s32 20 | wavelength_start: 1.5 21 | wavelength_stop: 1.6 22 | wavelength_points: 50 23 | port_margin: 2 24 | port_monitor_offset: -0.1 25 | port_source_offset: -0.1 26 | dispersive: false 27 | ymargin_top: 0.0 28 | ymargin_bot: 0.0 29 | xmargin_left: 0 30 | xmargin_right: 0 31 | layer_stack: 32 | strip: 33 | layer: 34 | - 1 35 | - 0 36 | thickness: 0.22 37 | zmin: 0.0 38 | material: si 39 | sidewall_angle: 0 40 | strip2: 41 | layer: 42 | - 31 43 | - 0 44 | thickness: 0.22 45 | zmin: 0.0 46 | material: si 47 | sidewall_angle: 0 48 | component: 49 | name: ebeam_crossing4_7e264905 50 | version: 0.0.1 51 | settings: 52 | name: ebeam_crossing4_7e264905 53 | module: ubcpdk.components 54 | function_name: ebeam_crossing4 55 | info: 56 | library: Design kits/ebeam 57 | model: ebeam_crossing4 58 | info_version: 2 59 | full: 60 | decorator: 61 | function: auto_rename_ports 62 | changed: 63 | decorator: 64 | function: auto_rename_ports 65 | default: {} 66 | child: null 67 | compute_time_seconds: 15.12391185760498 68 | compute_time_minutes: 0.25206519762674967 69 | -------------------------------------------------------------------------------- /sparameters/ebeam_crossing4_7e264905_c4bd0ed6.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_crossing4_7e264905_c4bd0ed6.npz -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_0ec64804.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_gc_te1550_0ec64804.npz -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_0ec64804.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: -15 4 | compute_time_seconds: 62.93822264671326 5 | compute_time_minutes: 1.048970377445221 6 | -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_60e5b3a8.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_gc_te1550_60e5b3a8.npz -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_60e5b3a8.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: -5 4 | compute_time_seconds: 3.3036324977874756 5 | compute_time_minutes: 0.05506054162979126 6 | -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_7e264905_2b4c71dd.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_gc_te1550_7e264905_2b4c71dd.npz -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_7e264905_2b4c71dd.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 31 3 | fiber_xoffset: 0 4 | compute_time_seconds: 57.904752016067505 5 | compute_time_minutes: 0.9650792002677917 6 | -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_7e264905_60e5b3a8.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_gc_te1550_7e264905_60e5b3a8.npz -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_7e264905_60e5b3a8.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: -5 4 | compute_time_seconds: 64.49431157112122 5 | compute_time_minutes: 1.0749051928520204 6 | -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_7e264905_d14753ca.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_gc_te1550_7e264905_d14753ca.npz -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_7e264905_d14753ca.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: 0 4 | compute_time_seconds: 58.89392685890198 5 | compute_time_minutes: 0.9815654476483663 6 | -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_7e264905_d9bd5fec.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_gc_te1550_7e264905_d9bd5fec.npz -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_7e264905_d9bd5fec.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: 5 4 | compute_time_seconds: 61.239017963409424 5 | compute_time_minutes: 1.0206502993901572 6 | -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_985757a9.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_gc_te1550_985757a9.npz -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_985757a9.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: -10 4 | compute_time_seconds: 57.57888197898865 5 | compute_time_minutes: 0.9596480329831442 6 | -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_d14753ca.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_gc_te1550_d14753ca.npz -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_d14753ca.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: 0 4 | compute_time_seconds: 3.1204681396484375 5 | compute_time_minutes: 0.052007802327473956 6 | -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_d9bd5fec.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_gc_te1550_d9bd5fec.npz -------------------------------------------------------------------------------- /sparameters/ebeam_gc_te1550_d9bd5fec.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: 5 4 | compute_time_seconds: 3.410997152328491 5 | compute_time_minutes: 0.05684995253880819 6 | -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550/ebeam_y_1550_1fbf8f67.yml: -------------------------------------------------------------------------------- 1 | resolution: 20 2 | port_symmetries: {} 3 | wl_min: 1.5 4 | wl_max: 1.6 5 | wl_steps: 50 6 | port_margin: 2 7 | port_monitor_offset: -0.1 8 | port_source_offset: -0.1 9 | dispersive: false 10 | ymargin_top: 3.0 11 | ymargin_bot: 3.0 12 | xmargin_left: 0 13 | xmargin_right: 0 14 | layer_stack: 15 | strip: 16 | layer: 17 | - 1 18 | - 0 19 | thickness: 0.22 20 | zmin: 0.0 21 | material: si 22 | sidewall_angle: 0.0 23 | strip2: 24 | layer: 25 | - 31 26 | - 0 27 | thickness: 0.22 28 | zmin: 0.0 29 | material: si 30 | sidewall_angle: 0.0 31 | component: 32 | ports: 33 | o1: 34 | name: o1 35 | midpoint: 36 | - -7.4 37 | - 0 38 | width: 0.5 39 | orientation: 180 40 | layer: 41 | - 1 42 | - 0 43 | port_type: optical 44 | o2: 45 | name: o2 46 | midpoint: 47 | - 7.4 48 | - 2.75 49 | width: 0.5 50 | orientation: 0 51 | layer: 52 | - 1 53 | - 0 54 | port_type: optical 55 | o3: 56 | name: o3 57 | midpoint: 58 | - 7.4 59 | - -2.75 60 | width: 0.5 61 | orientation: 0 62 | layer: 63 | - 1 64 | - 0 65 | port_type: optical 66 | info: 67 | name: ebeam_y_1550 68 | cells: 69 | ebeam_y_1550: 70 | name: ebeam_y_1550 71 | version: 0.0.1 72 | -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_0d010a6f.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_y_1550_0d010a6f.npz -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_0d010a6f.yml: -------------------------------------------------------------------------------- 1 | resolution: 20 2 | port_symmetries: {} 3 | wavelength_start: 1.5 4 | wavelength_stop: 1.6 5 | wavelength_points: 50 6 | port_margin: 2 7 | port_monitor_offset: -0.1 8 | port_source_offset: -0.1 9 | dispersive: false 10 | ymargin_top: 3 11 | ymargin_bot: 3 12 | xmargin_left: 0 13 | xmargin_right: 0 14 | is_3d: false 15 | material_name_to_meep: 16 | si: 2.8494636999424405 17 | layer_stack: 18 | strip: 19 | layer: 20 | - 1 21 | - 0 22 | thickness: 0.22 23 | thickness_tolerance: null 24 | zmin: 0.0 25 | material: si 26 | sidewall_angle: 0.0 27 | width_to_z: 0.0 28 | z_to_bias: null 29 | info: {} 30 | strip2: 31 | layer: 32 | - 31 33 | - 0 34 | thickness: 0.22 35 | thickness_tolerance: null 36 | zmin: 0.0 37 | material: si 38 | sidewall_angle: 0.0 39 | width_to_z: 0.0 40 | z_to_bias: null 41 | info: {} 42 | component: 43 | name: ebeam_y_1550 44 | settings: 45 | name: ebeam_y_1550 46 | module: ubcpdk.components 47 | function_name: ebeam_y_1550 48 | info: 49 | library: Design kits/ebeam 50 | model: ebeam_y_1550 51 | info_version: 2 52 | full: {} 53 | changed: {} 54 | default: {} 55 | child: null 56 | compute_time_seconds: 75.88240885734558 57 | compute_time_minutes: 1.264706814289093 58 | -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_199b0a13b1f667b1e06104a659d324b2.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_y_1550_199b0a13b1f667b1e06104a659d324b2.npz -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_199b0a13b1f667b1e06104a659d324b2.yml: -------------------------------------------------------------------------------- 1 | compute_time_seconds: 66.282 2 | compute_time_minutes: 1.105 3 | -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_1f494ca0.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_y_1550_1f494ca0.npz -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_1f494ca0.yml: -------------------------------------------------------------------------------- 1 | resolution: 30 2 | port_symmetries: {} 3 | wavelength_start: 1.5 4 | wavelength_stop: 1.6 5 | wavelength_points: 50 6 | port_margin: 2 7 | port_monitor_offset: -0.1 8 | port_source_offset: -0.1 9 | dispersive: false 10 | ymargin_top: 3 11 | ymargin_bot: 3 12 | xmargin_left: 0 13 | xmargin_right: 0 14 | is_3d: false 15 | layer_stack: 16 | strip: 17 | layer: 18 | - 1 19 | - 0 20 | thickness: 0.22 21 | zmin: 0.0 22 | material: si 23 | sidewall_angle: 0 24 | info: {} 25 | strip2: 26 | layer: 27 | - 31 28 | - 0 29 | thickness: 0.22 30 | zmin: 0.0 31 | material: si 32 | sidewall_angle: 0 33 | info: {} 34 | component: 35 | name: ebeam_y_1550 36 | settings: 37 | name: ebeam_y_1550 38 | module: ubcpdk.components 39 | function_name: ebeam_y_1550 40 | info: 41 | library: Design kits/ebeam 42 | model: ebeam_y_1550 43 | info_version: 2 44 | full: {} 45 | changed: {} 46 | default: {} 47 | child: null 48 | compute_time_seconds: 181.47205114364624 49 | compute_time_minutes: 3.0245341857274375 50 | -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_20634f71.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_y_1550_20634f71.npz -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_20634f71.yml: -------------------------------------------------------------------------------- 1 | resolution: 30 2 | port_symmetries: {} 3 | wavelength_start: 1.5 4 | wavelength_stop: 1.6 5 | wavelength_points: 50 6 | port_margin: 2 7 | port_monitor_offset: -0.1 8 | port_source_offset: -0.1 9 | dispersive: false 10 | ymargin_top: 3 11 | ymargin_bot: 3 12 | xmargin_left: 0 13 | xmargin_right: 0 14 | layer_stack: 15 | strip: 16 | layer: 17 | - 1 18 | - 0 19 | thickness: 0.22 20 | zmin: 0.0 21 | material: si 22 | sidewall_angle: 0 23 | strip2: 24 | layer: 25 | - 31 26 | - 0 27 | thickness: 0.22 28 | zmin: 0.0 29 | material: si 30 | sidewall_angle: 0 31 | component: 32 | name: ebeam_y_1550 33 | settings: 34 | name: ebeam_y_1550 35 | module: ubcpdk.components 36 | function_name: ebeam_y_1550 37 | info: 38 | library: Design kits/ebeam 39 | model: ebeam_y_1550 40 | info_version: 2 41 | full: {} 42 | changed: {} 43 | default: {} 44 | child: null 45 | compute_time_seconds: 140.58550214767456 46 | compute_time_minutes: 2.3430917024612428 47 | -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_21fe4056.yml: -------------------------------------------------------------------------------- 1 | resolution: 30 2 | port_symmetries: {} 3 | wavelength_start: 1.5 4 | wavelength_stop: 1.6 5 | wavelength_points: 50 6 | port_margin: 2 7 | port_monitor_offset: -0.1 8 | port_source_offset: -0.1 9 | dispersive: false 10 | ymargin_top: 3 11 | ymargin_bot: 3 12 | xmargin_left: 0 13 | xmargin_right: 0 14 | layer_stack: 15 | strip: 16 | layer: 17 | - 1 18 | - 0 19 | thickness: 0.22 20 | zmin: 0.0 21 | material: si 22 | sidewall_angle: 0 23 | strip2: 24 | layer: 25 | - 31 26 | - 0 27 | thickness: 0.22 28 | zmin: 0.0 29 | material: si 30 | sidewall_angle: 0 31 | component: 32 | version: 0.0.1 33 | settings: {} 34 | compute_time_seconds: 209.30988097190857 35 | compute_time_minutes: 3.488498016198476 36 | -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_39d5288b.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_y_1550_39d5288b.npz -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_63211777.yml: -------------------------------------------------------------------------------- 1 | resolution: 20 2 | port_symmetries: {} 3 | wavelength_start: 1.5 4 | wavelength_stop: 1.6 5 | wavelength_points: 50 6 | port_margin: 2 7 | port_monitor_offset: -0.1 8 | port_source_offset: -0.1 9 | dispersive: false 10 | ymargin_top: 3 11 | ymargin_bot: 3 12 | xmargin_left: 0 13 | xmargin_right: 0 14 | is_3d: false 15 | material_name_to_meep: 16 | si: 2.8494636999424405 17 | layer_stack: 18 | strip: 19 | layer: 20 | - 1 21 | - 0 22 | thickness: 0.22 23 | zmin: 0.0 24 | material: si 25 | sidewall_angle: 0 26 | strip2: 27 | layer: 28 | - 31 29 | - 0 30 | thickness: 0.22 31 | zmin: 0.0 32 | material: si 33 | sidewall_angle: 0 34 | component: 35 | name: ebeam_y_1550 36 | version: 0.0.1 37 | settings: {} 38 | compute_time_seconds: 87.10249018669128 39 | compute_time_minutes: 1.4517081697781882 40 | -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_76acf988.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_y_1550_76acf988.npz -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_76acf988.yml: -------------------------------------------------------------------------------- 1 | resolution: 20 2 | port_symmetries: {} 3 | wavelength_start: 1.5 4 | wavelength_stop: 1.6 5 | wavelength_points: 50 6 | port_margin: 2 7 | port_monitor_offset: -0.1 8 | port_source_offset: -0.1 9 | dispersive: false 10 | ymargin_top: 3 11 | ymargin_bot: 3 12 | xmargin_left: 0 13 | xmargin_right: 0 14 | is_3d: false 15 | material_name_to_meep: 16 | si: 2.8494636999424405 17 | layer_stack: 18 | strip: 19 | layer: 20 | - 1 21 | - 0 22 | thickness: 0.22 23 | zmin: 0.0 24 | material: si 25 | sidewall_angle: 0 26 | info: {} 27 | strip2: 28 | layer: 29 | - 31 30 | - 0 31 | thickness: 0.22 32 | zmin: 0.0 33 | material: si 34 | sidewall_angle: 0 35 | info: {} 36 | component: 37 | name: ebeam_y_1550 38 | settings: 39 | name: ebeam_y_1550 40 | module: ubcpdk.components 41 | function_name: ebeam_y_1550 42 | info: 43 | library: Design kits/ebeam 44 | model: ebeam_y_1550 45 | info_version: 2 46 | full: {} 47 | changed: {} 48 | default: {} 49 | child: null 50 | compute_time_seconds: 99.67435359954834 51 | compute_time_minutes: 1.661239226659139 52 | -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_7e264905_c3ff7345.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_y_1550_7e264905_c3ff7345.npz -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_7e264905_c3ff7345.yml: -------------------------------------------------------------------------------- 1 | compute_time_seconds: 53.077330589294434 2 | compute_time_minutes: 0.8846221764882406 3 | -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_912ab8ee.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_y_1550_912ab8ee.npz -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_912ab8ee.yml: -------------------------------------------------------------------------------- 1 | resolution: 30 2 | port_symmetries: {} 3 | wavelength_start: 1.5 4 | wavelength_stop: 1.6 5 | wavelength_points: 50 6 | port_margin: 2 7 | port_monitor_offset: -0.1 8 | port_source_offset: -0.1 9 | dispersive: false 10 | ymargin_top: 3 11 | ymargin_bot: 3 12 | xmargin_left: 0 13 | xmargin_right: 0 14 | is_3d: false 15 | layer_stack: 16 | strip: 17 | layer: 18 | - 1 19 | - 0 20 | thickness: 0.22 21 | zmin: 0.0 22 | material: si 23 | sidewall_angle: 0 24 | info: {} 25 | strip2: 26 | layer: 27 | - 31 28 | - 0 29 | thickness: 0.22 30 | zmin: 0.0 31 | material: si 32 | sidewall_angle: 0 33 | info: {} 34 | monitor: 35 | layer: 36 | - 101 37 | - 0 38 | thickness: 6.0 39 | zmin: -3.0 40 | material: null 41 | sidewall_angle: 0 42 | info: {} 43 | source: 44 | layer: 45 | - 110 46 | - 0 47 | thickness: 6.0 48 | zmin: -3.0 49 | material: null 50 | sidewall_angle: 0 51 | info: {} 52 | component: 53 | name: ebeam_y_1550 54 | settings: 55 | name: ebeam_y_1550 56 | module: ubcpdk.components 57 | function_name: ebeam_y_1550 58 | info: 59 | library: Design kits/ebeam 60 | model: ebeam_y_1550 61 | info_version: 2 62 | full: {} 63 | changed: {} 64 | default: {} 65 | child: null 66 | compute_time_seconds: 180.10234689712524 67 | compute_time_minutes: 3.001705781618754 68 | -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_b9a44b79.yml: -------------------------------------------------------------------------------- 1 | resolution: 30 2 | port_symmetries: {} 3 | wavelength_start: 1.5 4 | wavelength_stop: 1.6 5 | wavelength_points: 50 6 | port_margin: 2 7 | port_monitor_offset: -0.1 8 | port_source_offset: -0.1 9 | dispersive: false 10 | ymargin_top: 3 11 | ymargin_bot: 3 12 | xmargin_left: 0 13 | xmargin_right: 0 14 | layer_stack: 15 | strip: 16 | layer: 17 | - 1 18 | - 0 19 | thickness: 0.22 20 | zmin: 0.0 21 | material: si 22 | sidewall_angle: 0 23 | strip2: 24 | layer: 25 | - 31 26 | - 0 27 | thickness: 0.22 28 | zmin: 0.0 29 | material: si 30 | sidewall_angle: 0 31 | monitor: 32 | layer: 33 | - 101 34 | - 0 35 | thickness: 6.0 36 | zmin: -3.0 37 | material: null 38 | sidewall_angle: 0 39 | source: 40 | layer: 41 | - 110 42 | - 0 43 | thickness: 6.0 44 | zmin: -3.0 45 | material: null 46 | sidewall_angle: 0 47 | component: 48 | name: ebeam_y_1550 49 | version: 0.0.1 50 | settings: {} 51 | compute_time_seconds: 159.36617875099182 52 | compute_time_minutes: 2.656102979183197 53 | -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_c3ff7345.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_y_1550_c3ff7345.npz -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_c3ff7345.yml: -------------------------------------------------------------------------------- 1 | compute_time_seconds: 60.538620471954346 2 | compute_time_minutes: 1.0089770078659057 3 | -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_d94e5bdc.yml: -------------------------------------------------------------------------------- 1 | resolution: 20 2 | port_symmetries: {} 3 | wl_min: 1.5 4 | wl_max: 1.6 5 | wl_steps: 50 6 | port_margin: 2 7 | port_monitor_offset: -0.1 8 | port_source_offset: -0.1 9 | dispersive: false 10 | ymargin_top: 3.0 11 | ymargin_bot: 3.0 12 | xmargin_left: 0 13 | xmargin_right: 0 14 | layer_stack: 15 | strip: 16 | layer: 17 | - 1 18 | - 0 19 | thickness: 0.22 20 | zmin: 0.0 21 | material: si 22 | sidewall_angle: 0.0 23 | strip2: 24 | layer: 25 | - 31 26 | - 0 27 | thickness: 0.22 28 | zmin: 0.0 29 | material: si 30 | sidewall_angle: 0.0 31 | component: 32 | ports: 33 | o1: 34 | name: o1 35 | midpoint: 36 | - -7.4 37 | - 0 38 | width: 0.5 39 | orientation: 180 40 | layer: 41 | - 1 42 | - 0 43 | port_type: optical 44 | o2: 45 | name: o2 46 | midpoint: 47 | - 7.4 48 | - 2.75 49 | width: 0.5 50 | orientation: 0 51 | layer: 52 | - 1 53 | - 0 54 | port_type: optical 55 | o3: 56 | name: o3 57 | midpoint: 58 | - 7.4 59 | - -2.75 60 | width: 0.5 61 | orientation: 0 62 | layer: 63 | - 1 64 | - 0 65 | port_type: optical 66 | info: 67 | doc: Y junction TE1550 50/50 power. 68 | name: ebeam_y_1550 69 | cells: 70 | ebeam_y_1550: 71 | doc: Y junction TE1550 50/50 power. 72 | name: ebeam_y_1550 73 | version: 0.0.1 74 | -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_f578394f.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/ebeam_y_1550_f578394f.npz -------------------------------------------------------------------------------- /sparameters/ebeam_y_1550_f578394f.yml: -------------------------------------------------------------------------------- 1 | resolution: 30 2 | port_symmetries: {} 3 | wavelength_start: 1.5 4 | wavelength_stop: 1.6 5 | wavelength_points: 50 6 | port_margin: 2 7 | port_monitor_offset: -0.1 8 | port_source_offset: -0.1 9 | dispersive: false 10 | ymargin_top: 3 11 | ymargin_bot: 3 12 | xmargin_left: 0 13 | xmargin_right: 0 14 | is_3d: false 15 | layer_stack: 16 | strip: 17 | layer: 18 | - 1 19 | - 0 20 | thickness: 0.22 21 | thickness_tolerance: null 22 | zmin: 0.0 23 | material: si 24 | sidewall_angle: 0.0 25 | width_to_z: 0.0 26 | z_to_bias: null 27 | info: {} 28 | strip2: 29 | layer: 30 | - 31 31 | - 0 32 | thickness: 0.22 33 | thickness_tolerance: null 34 | zmin: 0.0 35 | material: si 36 | sidewall_angle: 0.0 37 | width_to_z: 0.0 38 | z_to_bias: null 39 | info: {} 40 | component: 41 | name: ebeam_y_1550 42 | settings: 43 | name: ebeam_y_1550 44 | module: ubcpdk.components 45 | function_name: ebeam_y_1550 46 | info: 47 | library: Design kits/ebeam 48 | model: ebeam_y_1550 49 | info_version: 2 50 | full: {} 51 | changed: {} 52 | default: {} 53 | child: null 54 | compute_time_seconds: 162.4118685722351 55 | compute_time_minutes: 2.7068644762039185 56 | -------------------------------------------------------------------------------- /sparameters/gc_-31.0deg_-5.0um.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/gc_-31.0deg_-5.0um.npz -------------------------------------------------------------------------------- /sparameters/gc_-31.0deg_-5.0um.yml: -------------------------------------------------------------------------------- 1 | compute_time_minutes: 1.767 2 | compute_time_seconds: 106.031 3 | fiber_angle_deg: -31 4 | fiber_xoffset: -5 5 | is_3d: false 6 | -------------------------------------------------------------------------------- /sparameters/gc_-31.0deg_0.0um.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/gc_-31.0deg_0.0um.npz -------------------------------------------------------------------------------- /sparameters/gc_-31.0deg_0.0um.yml: -------------------------------------------------------------------------------- 1 | compute_time_minutes: 0.013 2 | compute_time_seconds: 0.788 3 | fiber_angle_deg: -31 4 | fiber_xoffset: 0 5 | is_3d: false 6 | -------------------------------------------------------------------------------- /sparameters/gc_-31.0deg_5.0um.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/gc_-31.0deg_5.0um.npz -------------------------------------------------------------------------------- /sparameters/gc_-31.0deg_5.0um.yml: -------------------------------------------------------------------------------- 1 | compute_time_minutes: 1.78 2 | compute_time_seconds: 106.797 3 | fiber_angle_deg: -31 4 | fiber_xoffset: 5 5 | is_3d: false 6 | -------------------------------------------------------------------------------- /sparameters/gc_te1550.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/gc_te1550.npz -------------------------------------------------------------------------------- /sparameters/gc_te1550.yml: -------------------------------------------------------------------------------- 1 | compute_time_minutes: 1.655 2 | compute_time_seconds: 99.291 3 | fiber_angle_deg: -31 4 | fiber_xoffset: 0 5 | is_3d: false 6 | -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_0ec64804.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/mirror_948d7eaf_gc_te1550_0ec64804.npz -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_0ec64804.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: -15 4 | compute_time_seconds: 69.73126530647278 5 | compute_time_minutes: 1.1621877551078796 6 | -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_0f8e55d2d79975dd8e8ea4016d3c56a2.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/mirror_948d7eaf_gc_te1550_0f8e55d2d79975dd8e8ea4016d3c56a2.npz -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_0f8e55d2d79975dd8e8ea4016d3c56a2.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: -15 4 | compute_time_seconds: 17.621 5 | compute_time_minutes: 0.294 6 | -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_26962e480cc055bb0b565a168ba56196.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/mirror_948d7eaf_gc_te1550_26962e480cc055bb0b565a168ba56196.npz -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_26962e480cc055bb0b565a168ba56196.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: 5 4 | compute_time_seconds: 14.744 5 | compute_time_minutes: 0.246 6 | -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_60e5b3a8.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/mirror_948d7eaf_gc_te1550_60e5b3a8.npz -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_60e5b3a8.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: -5 4 | compute_time_seconds: 64.10221600532532 5 | compute_time_minutes: 1.068370266755422 6 | -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_79ae2c47cfda4d910ad8afc4868758f5.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/mirror_948d7eaf_gc_te1550_79ae2c47cfda4d910ad8afc4868758f5.npz -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_79ae2c47cfda4d910ad8afc4868758f5.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: -5 4 | compute_time_seconds: 14.747 5 | compute_time_minutes: 0.246 6 | -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_985757a9.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/mirror_948d7eaf_gc_te1550_985757a9.npz -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_985757a9.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: -10 4 | compute_time_seconds: 65.07130861282349 5 | compute_time_minutes: 1.0845218102137248 6 | -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_d14753ca.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/mirror_948d7eaf_gc_te1550_d14753ca.npz -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_d14753ca.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: 0 4 | compute_time_seconds: 64.62230706214905 5 | compute_time_minutes: 1.0770384510358175 6 | -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_d9bd5fec.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/mirror_948d7eaf_gc_te1550_d9bd5fec.npz -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_d9bd5fec.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: 5 4 | compute_time_seconds: 60.06984901428223 5 | compute_time_minutes: 1.001164150238037 6 | -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_f2c68445b4de85cee32e49c0386239aa.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/mirror_948d7eaf_gc_te1550_f2c68445b4de85cee32e49c0386239aa.npz -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_f2c68445b4de85cee32e49c0386239aa.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: 0 4 | compute_time_seconds: 13.999 5 | compute_time_minutes: 0.233 6 | -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_fa1d65ff96e74bb0ba99eb021a049e62.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/mirror_948d7eaf_gc_te1550_fa1d65ff96e74bb0ba99eb021a049e62.npz -------------------------------------------------------------------------------- /sparameters/mirror_948d7eaf_gc_te1550_fa1d65ff96e74bb0ba99eb021a049e62.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: -31 3 | fiber_xoffset: -10 4 | compute_time_seconds: 16.757 5 | compute_time_minutes: 0.279 6 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_04b25a3b.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 31 3 | fiber_xoffset: 23 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 166.456303358078 27 | compute_time_minutes: 2.774271722634633 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_08088987.yml: -------------------------------------------------------------------------------- 1 | layer_stack: 2 | strip: 3 | layer: 4 | - 1 5 | - 0 6 | thickness: 0.22 7 | zmin: 0.0 8 | material: si 9 | sidewall_angle: 0 10 | strip2: 11 | layer: 12 | - 31 13 | - 0 14 | thickness: 0.22 15 | zmin: 0.0 16 | material: si 17 | sidewall_angle: 0 18 | material_name_to_tidy3d: 19 | si: 3.47 20 | sio2: 1.44 21 | sin: 2 22 | fiber_port_name: o1 23 | is_3d: false 24 | fiber_angle_deg: 30 25 | fiber_xoffset: 19 26 | compute_time_seconds: 77.5216064453125 27 | compute_time_minutes: 1.2920267740885416 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_1933e42f.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 30 3 | fiber_xoffset: 15 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 212.89571356773376 27 | compute_time_minutes: 3.548261892795563 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_39be6f18.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 31 3 | fiber_xoffset: 27 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 331.16420245170593 27 | compute_time_minutes: 5.5194033741950985 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_3a26c260.yml: -------------------------------------------------------------------------------- 1 | layer_stack: 2 | strip: 3 | layer: 4 | - 1 5 | - 0 6 | thickness: 0.22 7 | zmin: 0.0 8 | material: si 9 | sidewall_angle: 0 10 | strip2: 11 | layer: 12 | - 31 13 | - 0 14 | thickness: 0.22 15 | zmin: 0.0 16 | material: si 17 | sidewall_angle: 0 18 | material_name_to_tidy3d: 19 | si: 3.47 20 | sio2: 1.44 21 | sin: 2 22 | fiber_port_name: o1 23 | is_3d: false 24 | fiber_angle_deg: 31 25 | fiber_xoffset: 4 26 | compute_time_seconds: 97.93509864807129 27 | compute_time_minutes: 1.6322516441345214 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_46e06d33.yml: -------------------------------------------------------------------------------- 1 | layer_stack: 2 | strip: 3 | layer: 4 | - 1 5 | - 0 6 | thickness: 0.22 7 | zmin: 0.0 8 | material: si 9 | sidewall_angle: 0 10 | strip2: 11 | layer: 12 | - 31 13 | - 0 14 | thickness: 0.22 15 | zmin: 0.0 16 | material: si 17 | sidewall_angle: 0 18 | material_name_to_tidy3d: 19 | si: 3.47 20 | sio2: 1.44 21 | sin: 2 22 | fiber_port_name: o1 23 | is_3d: false 24 | fiber_angle_deg: 31 25 | fiber_xoffset: -10 26 | compute_time_seconds: 75.88972020149231 27 | compute_time_minutes: 1.2648286700248719 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_49a8fbc1.yml: -------------------------------------------------------------------------------- 1 | layer_stack: 2 | strip: 3 | layer: 4 | - 1 5 | - 0 6 | thickness: 0.22 7 | zmin: 0.0 8 | material: si 9 | sidewall_angle: 0 10 | strip2: 11 | layer: 12 | - 31 13 | - 0 14 | thickness: 0.22 15 | zmin: 0.0 16 | material: si 17 | sidewall_angle: 0 18 | material_name_to_tidy3d: 19 | si: 3.47 20 | sio2: 1.44 21 | sin: 2 22 | fiber_port_name: o1 23 | is_3d: false 24 | fiber_angle_deg: 31 25 | fiber_xoffset: -4 26 | compute_time_seconds: 110.626699924469 27 | compute_time_minutes: 1.8437783320744832 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_6292f352.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 30 3 | fiber_xoffset: 29 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 186.9194347858429 27 | compute_time_minutes: 3.1153239130973818 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_68720cc2.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 31 3 | fiber_xoffset: 25 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 77.55401849746704 27 | compute_time_minutes: 1.292566974957784 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_6ae86fa9.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 31 3 | fiber_xoffset: 19 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 174.0717260837555 27 | compute_time_minutes: 2.9011954347292583 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_73260aa2.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 31 3 | fiber_xoffset: 35 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 352.96917605400085 27 | compute_time_minutes: 5.882819600900015 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_75dfd42e.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 30 3 | fiber_xoffset: 27 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 199.21872282028198 27 | compute_time_minutes: 3.3203120470046996 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_86a0c5f2.yml: -------------------------------------------------------------------------------- 1 | layer_stack: 2 | strip: 3 | layer: 4 | - 1 5 | - 0 6 | thickness: 0.22 7 | zmin: 0.0 8 | material: si 9 | sidewall_angle: 0 10 | strip2: 11 | layer: 12 | - 31 13 | - 0 14 | thickness: 0.22 15 | zmin: 0.0 16 | material: si 17 | sidewall_angle: 0 18 | material_name_to_tidy3d: 19 | si: 3.47 20 | sio2: 1.44 21 | sin: 2 22 | fiber_port_name: o1 23 | is_3d: false 24 | fiber_angle_deg: 31 25 | fiber_xoffset: 6 26 | compute_time_seconds: 76.55245423316956 27 | compute_time_minutes: 1.2758742372194927 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_8890572b.yml: -------------------------------------------------------------------------------- 1 | layer_stack: 2 | strip: 3 | layer: 4 | - 1 5 | - 0 6 | thickness: 0.22 7 | zmin: 0.0 8 | material: si 9 | sidewall_angle: 0 10 | strip2: 11 | layer: 12 | - 31 13 | - 0 14 | thickness: 0.22 15 | zmin: 0.0 16 | material: si 17 | sidewall_angle: 0 18 | material_name_to_tidy3d: 19 | si: 3.47 20 | sio2: 1.44 21 | sin: 2 22 | fiber_port_name: o1 23 | is_3d: false 24 | fiber_angle_deg: 31 25 | fiber_xoffset: 10 26 | compute_time_seconds: 93.3253698348999 27 | compute_time_minutes: 1.555422830581665 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_8c630bfa.yml: -------------------------------------------------------------------------------- 1 | layer_stack: 2 | strip: 3 | layer: 4 | - 1 5 | - 0 6 | thickness: 0.22 7 | zmin: 0.0 8 | material: si 9 | sidewall_angle: 0 10 | strip2: 11 | layer: 12 | - 31 13 | - 0 14 | thickness: 0.22 15 | zmin: 0.0 16 | material: si 17 | sidewall_angle: 0 18 | material_name_to_tidy3d: 19 | si: 3.47 20 | sio2: 1.44 21 | sin: 2 22 | fiber_port_name: o1 23 | is_3d: false 24 | fiber_angle_deg: 30 25 | fiber_xoffset: 23 26 | compute_time_seconds: 103.61069798469543 27 | compute_time_minutes: 1.7268449664115906 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_8d0ba197.yml: -------------------------------------------------------------------------------- 1 | layer_stack: 2 | strip: 3 | layer: 4 | - 1 5 | - 0 6 | thickness: 0.22 7 | zmin: 0.0 8 | material: si 9 | sidewall_angle: 0 10 | strip2: 11 | layer: 12 | - 31 13 | - 0 14 | thickness: 0.22 15 | zmin: 0.0 16 | material: si 17 | sidewall_angle: 0 18 | material_name_to_tidy3d: 19 | si: 3.47 20 | sio2: 1.44 21 | sin: 2 22 | fiber_port_name: o1 23 | is_3d: false 24 | fiber_angle_deg: 31 25 | fiber_xoffset: -6 26 | compute_time_seconds: 77.51380109786987 27 | compute_time_minutes: 1.291896684964498 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_8ec78c6d.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 30 3 | fiber_xoffset: 33 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 295.37618684768677 27 | compute_time_minutes: 4.9229364474614465 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_8f66116d.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 31 3 | fiber_xoffset: 15 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 257.26808071136475 27 | compute_time_minutes: 4.287801345189412 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_9404750c.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 31 3 | fiber_xoffset: 33 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 244.44445848464966 27 | compute_time_minutes: 4.074074308077495 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_a2a7ee32.yml: -------------------------------------------------------------------------------- 1 | layer_stack: 2 | strip: 3 | layer: 4 | - 1 5 | - 0 6 | thickness: 0.22 7 | zmin: 0.0 8 | material: si 9 | sidewall_angle: 0 10 | strip2: 11 | layer: 12 | - 31 13 | - 0 14 | thickness: 0.22 15 | zmin: 0.0 16 | material: si 17 | sidewall_angle: 0 18 | material_name_to_tidy3d: 19 | si: 3.47 20 | sio2: 1.44 21 | sin: 2 22 | fiber_port_name: o1 23 | is_3d: false 24 | fiber_angle_deg: 31 25 | fiber_xoffset: 2 26 | compute_time_seconds: 78.05954360961914 27 | compute_time_minutes: 1.3009923934936523 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_b1a4d58f.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 30 3 | fiber_xoffset: 31 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 267.9288637638092 27 | compute_time_minutes: 4.465481062730153 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_b5fb72a1.yml: -------------------------------------------------------------------------------- 1 | layer_stack: 2 | strip: 3 | layer: 4 | - 1 5 | - 0 6 | thickness: 0.22 7 | zmin: 0.0 8 | material: si 9 | sidewall_angle: 0 10 | strip2: 11 | layer: 12 | - 31 13 | - 0 14 | thickness: 0.22 15 | zmin: 0.0 16 | material: si 17 | sidewall_angle: 0 18 | material_name_to_tidy3d: 19 | si: 3.47 20 | sio2: 1.44 21 | sin: 2 22 | fiber_port_name: o1 23 | is_3d: false 24 | fiber_angle_deg: 31 25 | fiber_xoffset: -2 26 | compute_time_seconds: 78.15797519683838 27 | compute_time_minutes: 1.3026329199473063 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_b70d6a24.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 30 3 | fiber_xoffset: 21 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 108.05779433250427 27 | compute_time_minutes: 1.8009632388750711 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_c156aa56.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 30 3 | fiber_xoffset: 35 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 280.6240475177765 27 | compute_time_minutes: 4.677067458629608 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_cfeae4e8.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 31 3 | fiber_xoffset: 21 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 345.83163118362427 27 | compute_time_minutes: 5.763860519727071 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_e0617363.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 30 3 | fiber_xoffset: 17 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 200.85374760627747 27 | compute_time_minutes: 3.3475624601046245 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_e775c147.yml: -------------------------------------------------------------------------------- 1 | layer_stack: 2 | strip: 3 | layer: 4 | - 1 5 | - 0 6 | thickness: 0.22 7 | zmin: 0.0 8 | material: si 9 | sidewall_angle: 0 10 | strip2: 11 | layer: 12 | - 31 13 | - 0 14 | thickness: 0.22 15 | zmin: 0.0 16 | material: si 17 | sidewall_angle: 0 18 | material_name_to_tidy3d: 19 | si: 3.47 20 | sio2: 1.44 21 | sin: 2 22 | fiber_port_name: o1 23 | is_3d: false 24 | fiber_angle_deg: 31 25 | fiber_xoffset: 0 26 | compute_time_seconds: 77.03322386741638 27 | compute_time_minutes: 1.2838870644569398 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_f6081c2d.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 31 3 | fiber_xoffset: 17 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 242.19604539871216 27 | compute_time_minutes: 4.0366007566452025 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_f85668d1.yml: -------------------------------------------------------------------------------- 1 | layer_stack: 2 | strip: 3 | layer: 4 | - 1 5 | - 0 6 | thickness: 0.22 7 | zmin: 0.0 8 | material: si 9 | sidewall_angle: 0 10 | strip2: 11 | layer: 12 | - 31 13 | - 0 14 | thickness: 0.22 15 | zmin: 0.0 16 | material: si 17 | sidewall_angle: 0 18 | material_name_to_tidy3d: 19 | si: 3.47 20 | sio2: 1.44 21 | sin: 2 22 | fiber_port_name: o1 23 | is_3d: false 24 | fiber_angle_deg: 31 25 | fiber_xoffset: 8 26 | compute_time_seconds: 76.30805277824402 27 | compute_time_minutes: 1.2718008796374003 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_f918bc72.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 31 3 | fiber_xoffset: 29 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 318.39105200767517 27 | compute_time_minutes: 5.306517533461252 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_fa707732.yml: -------------------------------------------------------------------------------- 1 | layer_stack: 2 | strip: 3 | layer: 4 | - 1 5 | - 0 6 | thickness: 0.22 7 | zmin: 0.0 8 | material: si 9 | sidewall_angle: 0 10 | strip2: 11 | layer: 12 | - 31 13 | - 0 14 | thickness: 0.22 15 | zmin: 0.0 16 | material: si 17 | sidewall_angle: 0 18 | material_name_to_tidy3d: 19 | si: 3.47 20 | sio2: 1.44 21 | sin: 2 22 | fiber_port_name: o1 23 | is_3d: false 24 | fiber_angle_deg: 31 25 | fiber_xoffset: -8 26 | compute_time_seconds: 111.01514720916748 27 | compute_time_minutes: 1.8502524534861247 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_fa7eb155.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 31 3 | fiber_xoffset: 31 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 258.89413619041443 27 | compute_time_minutes: 4.314902269840241 28 | -------------------------------------------------------------------------------- /sparameters/rotate_f258530e_ff85c8d5.yml: -------------------------------------------------------------------------------- 1 | is_3d: false 2 | fiber_angle_deg: 30 3 | fiber_xoffset: 25 4 | layer_stack: 5 | strip: 6 | layer: 7 | - 1 8 | - 0 9 | thickness: 0.22 10 | zmin: 0.0 11 | material: si 12 | sidewall_angle: 0 13 | strip2: 14 | layer: 15 | - 31 16 | - 0 17 | thickness: 0.22 18 | zmin: 0.0 19 | material: si 20 | sidewall_angle: 0 21 | material_name_to_tidy3d: 22 | si: 3.47 23 | sio2: 1.44 24 | sin: 2 25 | fiber_port_name: o1 26 | compute_time_seconds: 294.79233622550964 27 | compute_time_minutes: 4.913205603758494 28 | -------------------------------------------------------------------------------- /sparameters/straight_length3_18b541d4.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/straight_length3_18b541d4.npz -------------------------------------------------------------------------------- /sparameters/straight_length3_8f9504cc.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/straight_length3_8f9504cc.npz -------------------------------------------------------------------------------- /sparameters/straight_length3_d34ef86b690da3f9c50cb80b5cf3ff11.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/straight_length3_d34ef86b690da3f9c50cb80b5cf3ff11.npz -------------------------------------------------------------------------------- /sparameters/straight_length3p1_bdd2f6cd.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/sparameters/straight_length3p1_bdd2f6cd.npz -------------------------------------------------------------------------------- /tests/ref/bend_euler_bend_euler_CSstrip.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/bend_euler_bend_euler_CSstrip.gds -------------------------------------------------------------------------------- /tests/ref/bend_euler_bend_euler_C_31752e67.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/bend_euler_bend_euler_C_31752e67.gds -------------------------------------------------------------------------------- /tests/ref/bend_s_bend_s_S11_1p8_N_390cd0af.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/bend_s_bend_s_S11_1p8_N_390cd0af.gds -------------------------------------------------------------------------------- /tests/ref/coupler.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/coupler.gds -------------------------------------------------------------------------------- /tests/ref/coupler90_coupler90_G0p_591568bb.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/coupler90_coupler90_G0p_591568bb.gds -------------------------------------------------------------------------------- /tests/ref/coupler_coupler_G0p236__159c01fd.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/coupler_coupler_G0p236__159c01fd.gds -------------------------------------------------------------------------------- /tests/ref/coupler_coupler_G0p236__a8bdff39.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/coupler_coupler_G0p236__a8bdff39.gds -------------------------------------------------------------------------------- /tests/ref/coupler_coupler_G0p236__c8a179e4.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/coupler_coupler_G0p236__c8a179e4.gds -------------------------------------------------------------------------------- /tests/ref/coupler_ring_coupler_ri_a4309215.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/coupler_ring_coupler_ri_a4309215.gds -------------------------------------------------------------------------------- /tests/ref/coupler_straight_couple_33ca69a2.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/coupler_straight_couple_33ca69a2.gds -------------------------------------------------------------------------------- /tests/ref/dbr_cavity_dbr_cavity_D_6f81e1fa.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/dbr_cavity_dbr_cavity_D_6f81e1fa.gds -------------------------------------------------------------------------------- /tests/ref/dbr_cavity_te_dbr_cavit_edb4408e.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/dbr_cavity_te_dbr_cavit_edb4408e.gds -------------------------------------------------------------------------------- /tests/ref/ebeam_adiabatic_te1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ebeam_adiabatic_te1550.gds -------------------------------------------------------------------------------- /tests/ref/ebeam_bdc_te1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ebeam_bdc_te1550.gds -------------------------------------------------------------------------------- /tests/ref/ebeam_bdc_tm1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ebeam_bdc_tm1550.gds -------------------------------------------------------------------------------- /tests/ref/ebeam_crossing4.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ebeam_crossing4.gds -------------------------------------------------------------------------------- /tests/ref/ebeam_crossing4_2ports.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ebeam_crossing4_2ports.gds -------------------------------------------------------------------------------- /tests/ref/ebeam_splitter_adiabati_1c687ad8.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ebeam_splitter_adiabati_1c687ad8.gds -------------------------------------------------------------------------------- /tests/ref/ebeam_splitter_swg_assist_te1310.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ebeam_splitter_swg_assist_te1310.gds -------------------------------------------------------------------------------- /tests/ref/ebeam_splitter_swg_assist_te1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ebeam_splitter_swg_assist_te1550.gds -------------------------------------------------------------------------------- /tests/ref/ebeam_terminator_te1310.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ebeam_terminator_te1310.gds -------------------------------------------------------------------------------- /tests/ref/ebeam_terminator_te1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ebeam_terminator_te1550.gds -------------------------------------------------------------------------------- /tests/ref/ebeam_terminator_tm1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ebeam_terminator_tm1550.gds -------------------------------------------------------------------------------- /tests/ref/ebeam_y_1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ebeam_y_1550.gds -------------------------------------------------------------------------------- /tests/ref/ebeam_y_adiabatic.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ebeam_y_adiabatic.gds -------------------------------------------------------------------------------- /tests/ref/ebeam_y_adiabatic_1310.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ebeam_y_adiabatic_1310.gds -------------------------------------------------------------------------------- /tests/ref/gc_te1310.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/gc_te1310.gds -------------------------------------------------------------------------------- /tests/ref/gc_te1310_8deg.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/gc_te1310_8deg.gds -------------------------------------------------------------------------------- /tests/ref/gc_te1310_broadband.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/gc_te1310_broadband.gds -------------------------------------------------------------------------------- /tests/ref/gc_te1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/gc_te1550.gds -------------------------------------------------------------------------------- /tests/ref/gc_te1550_90nmSlab.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/gc_te1550_90nmSlab.gds -------------------------------------------------------------------------------- /tests/ref/gc_te1550_broadband.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/gc_te1550_broadband.gds -------------------------------------------------------------------------------- /tests/ref/gc_tm1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/gc_tm1550.gds -------------------------------------------------------------------------------- /tests/ref/metal_via.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/metal_via.gds -------------------------------------------------------------------------------- /tests/ref/mmi1x2.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/mmi1x2.gds -------------------------------------------------------------------------------- /tests/ref/mzi_heater_mzi_heater_DL10_LX320.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/mzi_heater_mzi_heater_DL10_LX320.gds -------------------------------------------------------------------------------- /tests/ref/pad_array_pad_array_PFp_5efb8756.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/pad_array_pad_array_PFp_5efb8756.gds -------------------------------------------------------------------------------- /tests/ref/pad_pad_S75_75_LM2_ROUT_a24a937f.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/pad_pad_S75_75_LM2_ROUT_a24a937f.gds -------------------------------------------------------------------------------- /tests/ref/photonic_wirebond_surfa_247ccd11.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/photonic_wirebond_surfa_247ccd11.gds -------------------------------------------------------------------------------- /tests/ref/photonic_wirebond_surfa_4f115197.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/photonic_wirebond_surfa_4f115197.gds -------------------------------------------------------------------------------- /tests/ref/ring_double_heater_ring_6237d469.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ring_double_heater_ring_6237d469.gds -------------------------------------------------------------------------------- /tests/ref/ring_double_heater_ring_8b1aafcc.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ring_double_heater_ring_8b1aafcc.gds -------------------------------------------------------------------------------- /tests/ref/ring_double_ring_double_267a3e9c.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ring_double_ring_double_267a3e9c.gds -------------------------------------------------------------------------------- /tests/ref/ring_single_dut_ring_si_219403cd.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ring_single_dut_ring_si_219403cd.gds -------------------------------------------------------------------------------- /tests/ref/ring_single_ring_single_82ff2bc7.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/ring_single_ring_single_82ff2bc7.gds -------------------------------------------------------------------------------- /tests/ref/spiral_spiral_L100_S3_NL6.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/spiral_spiral_L100_S3_NL6.gds -------------------------------------------------------------------------------- /tests/ref/straight_heater_metal_s_3a225c2e.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/straight_heater_metal_s_3a225c2e.gds -------------------------------------------------------------------------------- /tests/ref/straight_one_pin_straig_e70a3ed8.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/straight_one_pin_straig_e70a3ed8.gds -------------------------------------------------------------------------------- /tests/ref/straight_straight_L10_N2_CSstrip.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/straight_straight_L10_N2_CSstrip.gds -------------------------------------------------------------------------------- /tests/ref/straight_straight_L10_N_ecd66c66.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/straight_straight_L10_N_ecd66c66.gds -------------------------------------------------------------------------------- /tests/ref/taper_taper_L10_W0p5_WN_5cc09a85.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/taper_taper_L10_W0p5_WN_5cc09a85.gds -------------------------------------------------------------------------------- /tests/ref/taper_taper_L10_W0p5_WN_c9bd9d3a.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/taper_taper_L10_W0p5_WN_c9bd9d3a.gds -------------------------------------------------------------------------------- /tests/ref/terminator_short_termin_5556f35e.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/terminator_short_termin_5556f35e.gds -------------------------------------------------------------------------------- /tests/ref/thermal_phase_shifter_m_6480beac.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/thermal_phase_shifter_m_6480beac.gds -------------------------------------------------------------------------------- /tests/ref/thermal_phase_shifter_t_22d678c3.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/thermal_phase_shifter_t_22d678c3.gds -------------------------------------------------------------------------------- /tests/ref/thermal_phase_shifter_t_75acd1c1.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/thermal_phase_shifter_t_75acd1c1.gds -------------------------------------------------------------------------------- /tests/ref/thermal_phase_shifter_t_ab7ae757.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/thermal_phase_shifter_t_ab7ae757.gds -------------------------------------------------------------------------------- /tests/ref/via_stack_heater_mtop_v_dab7f8ed.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/via_stack_heater_mtop_v_dab7f8ed.gds -------------------------------------------------------------------------------- /tests/ref/wire_corner_wire_corner_a07cee56.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/tests/ref/wire_corner_wire_corner_a07cee56.gds -------------------------------------------------------------------------------- /tests/test_components.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | import pytest 4 | from gdsfactory.component import Component 5 | from gdsfactory.difftest import difftest 6 | from pytest_regressions.data_regression import DataRegressionFixture 7 | 8 | from ubcpdk import cells 9 | 10 | skip_test = { 11 | "add_siepic_labels", 12 | "add_fiber_array_siepic", 13 | "add_pins_bbox_siepic_metal", 14 | "add_pins_siepic", 15 | "add_pins_siepic_metal", 16 | "dbr", 17 | "dbg", 18 | "add_pins_bbox_siepic", 19 | "add_pads", 20 | "add_pads_rf", 21 | "add_pads_bot", 22 | "add_pads_top", 23 | "add_pins_bbox_siepic_remove_layers", 24 | "import_gds", 25 | "import_gc", 26 | "mzi", 27 | "ebeam_adiabatic_tm1550", 28 | "ebeam_swg_edgecoupler", 29 | "ebeam_BondPad", 30 | "add_fiber_array", 31 | "add_fiber_array_pads_rf", 32 | } 33 | cell_names = set(cells.keys()) - set(skip_test) 34 | dirpath_ref = pathlib.Path(__file__).absolute().parent / "ref" 35 | 36 | 37 | @pytest.fixture(params=cell_names, scope="function") 38 | def component(request) -> Component: 39 | return cells[request.param]() 40 | 41 | 42 | def test_pdk_gds(component: Component) -> None: 43 | """Avoid regressions in GDS geometry, cell names and layers.""" 44 | difftest(component, dirpath=dirpath_ref) 45 | 46 | 47 | def test_pdk_settings( 48 | component: Component, data_regression: DataRegressionFixture 49 | ) -> None: 50 | """Avoid regressions when exporting settings.""" 51 | data_regression.check(component.to_dict(with_ports=False)) 52 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_bend_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | dy: 10 3 | length: 16.637 4 | min_bend_radius: 7.061 5 | radius: 10 6 | route_info_length: 16.637 7 | route_info_min_bend_radius: 7.061 8 | route_info_n_bend_90: 1 9 | route_info_strip_length: 16.637 10 | route_info_type: strip 11 | route_info_weight: 16.637 12 | width: 0.5 13 | name: bend_euler_CSstrip 14 | settings: 15 | cross_section: strip 16 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_bend_euler180_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | dy: 0 3 | length: 42.817 4 | min_bend_radius: 9.086 5 | radius: 10 6 | route_info_length: 42.817 7 | route_info_min_bend_radius: 9.086 8 | route_info_n_bend_90: 2 9 | route_info_strip_length: 42.817 10 | route_info_type: strip 11 | route_info_weight: 42.817 12 | width: 0.5 13 | name: bend_euler_CSstrip_A180 14 | settings: 15 | angle: 180 16 | cross_section: strip 17 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_bend_euler_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | dy: 10 3 | length: 16.637 4 | min_bend_radius: 7.061 5 | radius: 10 6 | route_info_length: 16.637 7 | route_info_min_bend_radius: 7.061 8 | route_info_n_bend_90: 1 9 | route_info_strip_length: 16.637 10 | route_info_type: strip 11 | route_info_weight: 16.637 12 | width: 0.5 13 | name: bend_euler_CSstrip 14 | settings: 15 | cross_section: strip 16 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_bend_s_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | end_angle: 0 3 | length: 11.206 4 | min_bend_radius: 13.012 5 | route_info_length: 11.206 6 | route_info_min_bend_radius: 13.012 7 | route_info_n_bend_s: 1 8 | route_info_strip_length: 11.206 9 | route_info_type: strip 10 | route_info_weight: 11.206 11 | start_angle: 0 12 | name: bend_s_S11_1p8_N99_CSst_71d8cbbd 13 | settings: 14 | allow_min_radius_violation: false 15 | cross_section: strip 16 | npoints: 99 17 | size: 18 | - 11 19 | - 1.8 20 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_coupler90_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: coupler90_G0p2_RNone_Bb_9c88eb65 3 | settings: 4 | bend: bend_euler 5 | cross_section: strip 6 | gap: 0.2 7 | straight: straight 8 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_coupler_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | length: 10.186 3 | min_bend_radius: 11.857 4 | name: coupler 5 | settings: {} 6 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_coupler_ring_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: coupler_ring_G0p2_R10_L_4c94bf2e 3 | settings: 4 | bend: bend_euler 5 | cross_section: strip 6 | gap: 0.2 7 | length_extension: 3 8 | length_x: 4 9 | radius: 10 10 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_coupler_straight_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: coupler_straight_L10_G0_202c9430 3 | settings: 4 | cross_section: strip 5 | gap: 0.2 6 | length: 10 7 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_dbr_cavity_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: dbr_cavity_Ddbr_Ccoupler 3 | settings: 4 | coupler: coupler 5 | dbr: dbr 6 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_dbr_cavity_te_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: dbr_cavity_te_Cdbr_cavity 3 | settings: 4 | component: dbr_cavity 5 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ebeam_adiabatic_te1550_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ebeam_adiabatic_te1550 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ebeam_bdc_te1550_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ebeam_bdc_te1550 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ebeam_bdc_tm1550_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ebeam_bdc_tm1550 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ebeam_crossing4_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ebeam_crossing4 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ebeam_crossing4_2ports_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ebeam_crossing4_2ports 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ebeam_dc_te1550_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | length: 10.186 3 | min_bend_radius: 11.857 4 | name: coupler_G0p236_L20_D4_D_b138340a 5 | settings: 6 | allow_min_radius_violation: false 7 | bend: bend_s 8 | cross_section: strip 9 | dx: 10 10 | dy: 4 11 | gap: 0.236 12 | length: 20 13 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ebeam_splitter_adiabatic_swg_te1550_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ebeam_splitter_adiabati_c6483e92 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ebeam_splitter_swg_assist_te1310_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ebeam_splitter_swg_assist_te1310 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ebeam_splitter_swg_assist_te1550_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ebeam_splitter_swg_assist_te1550 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ebeam_terminator_te1310_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ebeam_terminator_te1310 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ebeam_terminator_te1550_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ebeam_terminator_te1550 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ebeam_terminator_tm1550_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ebeam_terminator_tm1550 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ebeam_y_1550_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ebeam_y_1550 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ebeam_y_adiabatic_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ebeam_y_adiabatic 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ebeam_y_adiabatic_1310_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ebeam_y_adiabatic_1310 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_gc_te1310_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | polarization: te 3 | wavelength: 1.31 4 | name: gc_te1310 5 | settings: {} 6 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_gc_te1310_8deg_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | polarization: te 3 | wavelength: 1.31 4 | name: gc_te1310_8deg 5 | settings: {} 6 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_gc_te1310_broadband_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | polarization: te 3 | wavelength: 1.31 4 | name: gc_te1310_broadband 5 | settings: {} 6 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_gc_te1550_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | polarization: te 3 | wavelength: 1.55 4 | name: gc_te1550 5 | settings: {} 6 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_gc_te1550_90nmSlab_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | polarization: te 3 | wavelength: 1.55 4 | name: gc_te1550_90nmSlab 5 | settings: {} 6 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_gc_te1550_broadband_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | polarization: te 3 | wavelength: 1.55 4 | name: gc_te1550_broadband 5 | settings: {} 6 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_gc_tm1550_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | polarization: tm 3 | wavelength: 1.55 4 | name: gc_tm1550 5 | settings: {} 6 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_metal_via_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: metal_via 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_mmi1x2_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: mmi1x2 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_mzi_heater_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: mzi_heater_DL10_LX320 3 | settings: 4 | delta_length: 10 5 | length_x: 320 6 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_pad_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | size: 3 | - 75 4 | - 75 5 | xsize: 75 6 | ysize: 75 7 | name: pad_S75_75_LM2_ROUTER_B_a6f49d52 8 | settings: 9 | bbox_layers: 10 | - PAD_OPEN 11 | bbox_offsets: 12 | - -1.8 13 | layer: M2_ROUTER 14 | port_inclusion: 0 15 | port_orientation: 0 16 | port_orientations: 17 | - 180 18 | - 90 19 | - 0 20 | - -90 21 | port_type: pad 22 | size: 23 | - 75 24 | - 75 25 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_pad_array_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: pad_array_PFpad_Mgdsfac_f7490298 3 | settings: 4 | auto_rename_ports: false 5 | centered_ports: false 6 | column_pitch: 125 7 | columns: 6 8 | layer: MTOP 9 | pad: Fpad_Mgdsfactorypcomponentsppadsppad_SS75_75_LM2_ROUTER_BLPAD_OPEN_BOm1p8 10 | port_orientation: 0 11 | row_pitch: 125 12 | rows: 1 13 | size: 14 | - 100 15 | - 100 16 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_photonic_wirebond_surfacetaper_1310_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: photonic_wirebond_surfa_5032bc1d 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_photonic_wirebond_surfacetaper_1550_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: photonic_wirebond_surfa_f98966ec 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ring_double_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ring_double_G0p2_R10_LX4_LY0p6 3 | settings: 4 | gap: 0.2 5 | length_x: 4 6 | length_y: 0.6 7 | radius: 10 8 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ring_double_heater_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ring_double_heater_G0p2_2d50a6d4 3 | settings: 4 | bend: bend_euler 5 | coupler_ring: coupler_ring 6 | cross_section: strip 7 | cross_section_heater: heater_metal 8 | cross_section_waveguide_heater: strip_heater_metal 9 | gap: 0.2 10 | length_x: 1 11 | length_y: 0.2 12 | radius: 10 13 | straight: straight 14 | via_stack: via_stack_heater_mtop 15 | via_stack_offset: 16 | - 1 17 | - 0 18 | with_drop: true 19 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ring_single_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ring_single_G0p2_R10_LX4_LY0p6 3 | settings: 4 | gap: 0.2 5 | length_x: 4 6 | length_y: 0.6 7 | radius: 10 8 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ring_single_heater_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ring_double_heater_G0p2_8e96fef6 3 | settings: 4 | bend: bend_euler 5 | coupler_ring: coupler_ring 6 | cross_section: strip 7 | cross_section_heater: heater_metal 8 | cross_section_waveguide_heater: strip_heater_metal 9 | gap: 0.2 10 | length_x: 1 11 | length_y: 0.01 12 | radius: 10 13 | straight: straight 14 | via_stack: via_stack_heater_mtop 15 | via_stack_offset: 16 | - 1 17 | - 0 18 | with_drop: false 19 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_ring_with_crossing_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: ring_single_dut_Cebeam__d2ca7275 3 | settings: 4 | bend: bend_euler 5 | component: ebeam_crossing4_2ports 6 | coupler: coupler_ring 7 | cross_section: strip 8 | gap: 0.2 9 | length_x: 4 10 | length_y: 0 11 | port_name: o4 12 | radius: 5 13 | with_component: true 14 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_spiral_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | length: 1200 3 | name: spiral_L100_S3_NL6 4 | settings: 5 | length: 100 6 | n_loops: 6 7 | spacing: 3 8 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_straight_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | length: 10 3 | route_info_length: 10 4 | route_info_strip_length: 10 5 | route_info_type: strip 6 | route_info_weight: 10 7 | width: 0.5 8 | name: straight_L10_N2_CSstrip_WNone 9 | settings: 10 | cross_section: strip 11 | length: 10 12 | npoints: 2 13 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_straight_heater_metal_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | length: 320 3 | resistance: 0 4 | name: straight_heater_metal_L_32c21700 5 | settings: 6 | cross_section: strip 7 | length: 320 8 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_straight_one_pin_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: straight_one_pin_L1_CSF_a51960c0 3 | settings: 4 | cross_section: Fcross_section_Mgdsfactorypcross_section_SRM5_BLDEVREC_BO0p5 5 | length: 1 6 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_taper_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | length: 10 3 | width1: 0.5 4 | width2: 0.5 5 | name: taper_L10_W0p5_WNone_LN_08b35698 6 | settings: 7 | cross_section: strip 8 | length: 10 9 | port_names: 10 | - o1 11 | - o2 12 | port_types: 13 | - optical 14 | - optical 15 | width1: 0.5 16 | with_bbox: true 17 | with_two_ports: true 18 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_terminator_short_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: terminator_short_W0p1 3 | settings: 4 | width2: 0.1 5 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_thermal_phase_shifter0_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: thermal_phase_shifter_multimode_500um 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_thermal_phase_shifter1_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: thermal_phase_shifter_te_1310_500um 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_thermal_phase_shifter2_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: thermal_phase_shifter_te_1310_500um_lowloss 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_thermal_phase_shifter3_.yml: -------------------------------------------------------------------------------- 1 | info: {} 2 | name: thermal_phase_shifter_te_1550_500um_lowloss 3 | settings: {} 4 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_via_stack_heater_mtop_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | xsize: 10 3 | ysize: 10 4 | name: via_stack_heater_mtop_S10_10 5 | settings: 6 | size: 7 | - 10 8 | - 10 9 | -------------------------------------------------------------------------------- /tests/test_components/test_pdk_settings_wire_corner_.yml: -------------------------------------------------------------------------------- 1 | info: 2 | dy: 10 3 | length: 10 4 | name: wire_corner_CSmetal_routing 5 | settings: 6 | cross_section: metal_routing 7 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_bend_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: bend_euler_CSstrip 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_bend_euler180_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: bend_euler_CSstrip_A180 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_bend_euler_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: bend_euler_CSstrip 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_bend_s_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: bend_s_S11_1p8_N99_CSst_71d8cbbd 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_coupler90_.yml: -------------------------------------------------------------------------------- 1 | instances: 2 | bend_euler_CSstrip_RNone_0_700: 3 | component: bend_euler 4 | info: 5 | dy: 10 6 | length: 16.637 7 | min_bend_radius: 7.061 8 | radius: 10 9 | route_info_length: 16.637 10 | route_info_min_bend_radius: 7.061 11 | route_info_n_bend_90: 1 12 | route_info_strip_length: 16.637 13 | route_info_type: strip 14 | route_info_weight: 16.637 15 | width: 0.5 16 | settings: 17 | cross_section: strip 18 | radius: null 19 | straight_L10_N2_CSstrip_WNone_0_0: 20 | component: straight 21 | info: 22 | length: 10 23 | route_info_length: 10 24 | route_info_strip_length: 10 25 | route_info_type: strip 26 | route_info_weight: 10 27 | width: 0.5 28 | settings: 29 | cross_section: strip 30 | length: 10 31 | npoints: 2 32 | width: null 33 | name: coupler90_G0p2_RNone_Bb_9c88eb65 34 | nets: [] 35 | placements: 36 | bend_euler_CSstrip_RNone_0_700: 37 | mirror: false 38 | rotation: 0 39 | x: 0 40 | y: 0.7 41 | straight_L10_N2_CSstrip_WNone_0_0: 42 | mirror: false 43 | rotation: 0 44 | x: 0 45 | y: 0 46 | ports: 47 | o1: straight_L10_N2_CSstrip_WNone_0_0,o1 48 | o2: bend_euler_CSstrip_RNone_0_700,o1 49 | o3: bend_euler_CSstrip_RNone_0_700,o2 50 | o4: straight_L10_N2_CSstrip_WNone_0_0,o2 51 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_coupler_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: coupler 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_coupler_ring_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: coupler_ring_G0p2_R10_L_4c94bf2e 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_coupler_straight_.yml: -------------------------------------------------------------------------------- 1 | instances: 2 | straight_L10_N2_CSstrip_WNone_0_0: 3 | component: straight 4 | info: 5 | length: 10 6 | route_info_length: 10 7 | route_info_strip_length: 10 8 | route_info_type: strip 9 | route_info_weight: 10 10 | width: 0.5 11 | settings: 12 | cross_section: strip 13 | length: 10 14 | npoints: 2 15 | width: null 16 | straight_L10_N2_CSstrip_WNone_0_700: 17 | component: straight 18 | info: 19 | length: 10 20 | route_info_length: 10 21 | route_info_strip_length: 10 22 | route_info_type: strip 23 | route_info_weight: 10 24 | width: 0.5 25 | settings: 26 | cross_section: strip 27 | length: 10 28 | npoints: 2 29 | width: null 30 | name: coupler_straight_L10_G0_202c9430 31 | nets: [] 32 | placements: 33 | straight_L10_N2_CSstrip_WNone_0_0: 34 | mirror: false 35 | rotation: 0 36 | x: 0 37 | y: 0 38 | straight_L10_N2_CSstrip_WNone_0_700: 39 | mirror: false 40 | rotation: 0 41 | x: 0 42 | y: 0.7 43 | ports: 44 | o1: straight_L10_N2_CSstrip_WNone_0_0,o1 45 | o2: straight_L10_N2_CSstrip_WNone_0_700,o1 46 | o3: straight_L10_N2_CSstrip_WNone_0_700,o2 47 | o4: straight_L10_N2_CSstrip_WNone_0_0,o2 48 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_dbr_cavity_.yml: -------------------------------------------------------------------------------- 1 | instances: 2 | coupler_L0p1_G0p2_0_0: 3 | component: coupler 4 | info: 5 | length: 10.19 6 | min_bend_radius: 11.744 7 | settings: 8 | gap: 0.2 9 | length: 0.1 10 | dbr_W0p5_D0p1_N100_L0p0_c9156e45_10189_2350: 11 | component: dbr 12 | info: {} 13 | settings: 14 | cross_section: strip 15 | dw: 0.1 16 | l1: 0.079 17 | l2: 0.079 18 | n: 100 19 | w0: 0.5 20 | dbr_W0p5_D0p1_N100_L0p0_c9156e45_m10089_2350: 21 | component: dbr 22 | info: {} 23 | settings: 24 | cross_section: strip 25 | dw: 0.1 26 | l1: 0.079 27 | l2: 0.079 28 | n: 100 29 | w0: 0.5 30 | name: dbr_cavity_Ddbr_Ccoupler 31 | nets: 32 | - p1: coupler_L0p1_G0p2_0_0,o2 33 | p2: dbr_W0p5_D0p1_N100_L0p0_c9156e45_m10089_2350,o1 34 | - p1: coupler_L0p1_G0p2_0_0,o3 35 | p2: dbr_W0p5_D0p1_N100_L0p0_c9156e45_10189_2350,o1 36 | placements: 37 | coupler_L0p1_G0p2_0_0: 38 | mirror: false 39 | rotation: 0 40 | x: 0 41 | y: 0 42 | dbr_W0p5_D0p1_N100_L0p0_c9156e45_10189_2350: 43 | mirror: false 44 | rotation: 0 45 | x: 10.189 46 | y: 2.35 47 | dbr_W0p5_D0p1_N100_L0p0_c9156e45_m10089_2350: 48 | mirror: false 49 | rotation: 180 50 | x: -10.089 51 | y: 2.35 52 | ports: 53 | o1: coupler_L0p1_G0p2_0_0,o1 54 | o2: coupler_L0p1_G0p2_0_0,o4 55 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_dbr_cavity_te_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: dbr_cavity_te_Cdbr_cavity 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_ebeam_bdc_te1550_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: ebeam_bdc_te1550 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_ebeam_bdc_tm1550_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: ebeam_bdc_tm1550 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_ebeam_crossing4_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: ebeam_crossing4 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_ebeam_crossing4_2ports_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: ebeam_crossing4_2ports 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_ebeam_dc_te1550_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: coupler_G0p236_L20_D4_D_b138340a 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_ebeam_splitter_swg_assist_te1310_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: ebeam_splitter_swg_assist_te1310 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_ebeam_splitter_swg_assist_te1550_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: ebeam_splitter_swg_assist_te1550 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_ebeam_terminator_te1310_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: ebeam_terminator_te1310 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_ebeam_terminator_te1550_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: ebeam_terminator_te1550 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_ebeam_terminator_tm1550_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: ebeam_terminator_tm1550 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_ebeam_y_1550_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: ebeam_y_1550 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_ebeam_y_adiabatic_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: ebeam_y_adiabatic 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_ebeam_y_adiabatic_1310_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: ebeam_y_adiabatic_1310 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_gc_te1310_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: gc_te1310 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_gc_te1310_8deg_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: gc_te1310_8deg 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_gc_te1310_broadband_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: gc_te1310_broadband 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_gc_te1550_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: gc_te1550 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_gc_te1550_90nmSlab_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: gc_te1550_90nmSlab 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_gc_te1550_broadband_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: gc_te1550_broadband 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_gc_tm1550_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: gc_tm1550 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_metal_via_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: metal_via 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_mmi1x2_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: mmi1x2 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_pad_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: pad_S75_75_LM2_ROUTER_B_a6f49d52 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_photonic_wirebond_surfacetaper_1310_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: photonic_wirebond_surfa_5032bc1d 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_photonic_wirebond_surfacetaper_1550_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: photonic_wirebond_surfa_f98966ec 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_ring_double_heater_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: ring_double_heater_G0p2_2d50a6d4 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_ring_single_heater_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: ring_double_heater_G0p2_8e96fef6 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_straight_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: straight_L10_N2_CSstrip_WNone 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_straight_one_pin_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: straight_one_pin_L1_CSF_a51960c0 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_taper_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: taper_L10_W0p5_WNone_LN_08b35698 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_terminator_short_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: terminator_short_W0p1 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_thermal_phase_shifter0_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: thermal_phase_shifter_multimode_500um 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_thermal_phase_shifter1_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: thermal_phase_shifter_te_1310_500um 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_thermal_phase_shifter2_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: thermal_phase_shifter_te_1310_500um_lowloss 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /tests/test_netlists/test_netlists_thermal_phase_shifter3_.yml: -------------------------------------------------------------------------------- 1 | instances: {} 2 | name: thermal_phase_shifter_te_1550_500um_lowloss 3 | nets: [] 4 | placements: {} 5 | ports: {} 6 | -------------------------------------------------------------------------------- /ubcpdk/README.md: -------------------------------------------------------------------------------- 1 | # UBC1 2 | 3 | ## DFT rules (design for testing) 4 | 5 | Layout requirements for automated testing 6 | 7 | The following are the layout requirements for automated testing: 8 | 9 | Please make sure your grating couplers are: 10 | 11 | - facing right (waveguide on the right side) 12 | - on a 127 µm pitch vertically 13 | - Counting from top down, the 1st, 3rd and 4th fibre in the array will be used for the outputs (three detectors are sampled simultaneously), and the 2nd fibre will be input. Many test configurations are possible, such as Fibres 1-2, Fibres 2-3, Fibres 1-2-3, etc. It is also possible to test the same device multiple times by placing labels on multiple ports. 14 | 15 | Please place a text label (Layer #10 “text” in layout) on the grating coupler to which you would like the 2nd fibre (input) aligned be to: 16 | 17 | - opt*in*_\_device_\_ 18 | - example: opt_in_TE_1550_device_LukasChrostowski_MZI1 19 | - The label format is case sensitive, and cannot have extra "\_" characters. 20 | - The labels MUST BE UNIQUE. 21 | 22 | Examples layouts that conform to these test rules are provided in folder “Examples”. 23 | 24 | More details are also available in the PDF slides. The GDS Layout used in the examples is Sample.gds. The TE & TM example layout is GC_Alignment_TE_TM.gds. 25 | 26 | ## DFM Design for manufacturing 27 | 28 | Each participant is allocated a rectangle of 605 µm (width) X 410 µm (height). You can use multiple blocks (see below for details). 29 | -------------------------------------------------------------------------------- /ubcpdk/__init__.py: -------------------------------------------------------------------------------- 1 | """UBC Siepic Ebeam PDK from edx course.""" 2 | 3 | from gdsfactory.config import PATH as GPATH 4 | from gdsfactory.get_factories import get_cells 5 | from gdsfactory.pdk import Pdk 6 | 7 | from ubcpdk import components, data, tech 8 | from ubcpdk.config import CONFIG, PATH 9 | from ubcpdk.tech import LAYER, LAYER_STACK, LAYER_VIEWS, cross_sections 10 | 11 | try: 12 | from gplugins.sax.models import get_models 13 | 14 | from ubcpdk import models 15 | 16 | models = get_models(models) 17 | except ImportError: 18 | print("gplugins[sax] not installed, no simulation models available.") 19 | models = {} 20 | 21 | 22 | __version__ = "2.7.0" 23 | 24 | __all__ = [ 25 | "CONFIG", 26 | "data", 27 | "PATH", 28 | "components", 29 | "tech", 30 | "LAYER", 31 | "cells", 32 | "cross_sections", 33 | "PDK", 34 | "__version__", 35 | ] 36 | 37 | 38 | cells = get_cells(components) 39 | PDK = Pdk( 40 | name="ubcpdk", 41 | cells=cells, 42 | cross_sections=cross_sections, 43 | models=models, 44 | layers=LAYER, 45 | layer_stack=LAYER_STACK, 46 | layer_views=LAYER_VIEWS, 47 | ) 48 | 49 | GPATH.sparameters = PATH.sparameters 50 | GPATH.interconnect = PATH.interconnect_cml_path 51 | PDK.activate() 52 | 53 | 54 | if __name__ == "__main__": 55 | m = get_models(models) 56 | for model in m.keys(): 57 | print(model) 58 | -------------------------------------------------------------------------------- /ubcpdk/data/__init__.py: -------------------------------------------------------------------------------- 1 | """Data analysis module.""" 2 | 3 | from .chop import chop 4 | from .find_bandwidth import find_bandwidth 5 | from .read_mat import read_mat 6 | from .remove_baseline import remove_baseline 7 | from .windowed_mean import windowed_mean 8 | 9 | __all__ = ["read_mat", "remove_baseline", "chop", "windowed_mean", "find_bandwidth"] 10 | -------------------------------------------------------------------------------- /ubcpdk/data/chop.py: -------------------------------------------------------------------------------- 1 | def chop(x, y, ymax=None, ymin=None, xmin=None, xmax=None): 2 | """Chops x, y.""" 3 | if xmax: 4 | y = y[x < xmax] 5 | x = x[x < xmax] 6 | 7 | if xmin: 8 | y = y[x > xmin] 9 | x = x[x > xmin] 10 | 11 | if ymax: 12 | x = x[y < ymax] 13 | y = y[y < ymax] 14 | 15 | if ymin: 16 | x = x[y > ymin] 17 | y = y[y > ymin] 18 | 19 | return x, y 20 | -------------------------------------------------------------------------------- /ubcpdk/data/convert_to_pandas.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | from gdsfactory.typings import PathType 3 | from scipy.io import loadmat 4 | 5 | 6 | def convert_to_pandas(filename: PathType, port: int = 0) -> pd.DataFrame: 7 | """Reads .mat file and parses it into a pandas DataFrame.""" 8 | data = loadmat(filename) 9 | 10 | if "scanResults" in data: 11 | wavelength = data["scanResults"][0][port][0][:, 0] 12 | power = data["scanResults"][0][port][0][:, 1] 13 | elif "scandata" in data: 14 | wavelength = data["scandata"][0][0][0][:][0] 15 | power = data["scandata"][0][0][1][:, port] 16 | elif "wavelength" in data: 17 | wavelength = data["wavelength"][0][:] 18 | power = data["power"][:, port][:] 19 | 20 | return pd.DataFrame({"wavelength": wavelength, "output_power": power}) 21 | 22 | 23 | if __name__ == "__main__": 24 | import json 25 | 26 | from ubcpdk.config import PATH 27 | 28 | for filepath in [ 29 | PATH.ring_te_r3_g100, 30 | PATH.ring_te_r3_g150, 31 | PATH.ring_te_r3_g150, 32 | PATH.ring_te_r10_g50, 33 | PATH.ring_te_r10_g100, 34 | PATH.ring_te_r10_g150, 35 | ]: 36 | df = convert_to_pandas(filepath) 37 | json_path = filepath.with_suffix(".json") 38 | d = df.to_dict(orient="split") 39 | json_path.write_text(json.dumps(d, indent=2)) 40 | -------------------------------------------------------------------------------- /ubcpdk/data/read_mat.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from gdsfactory.typings import PathType 3 | from scipy.io import loadmat 4 | 5 | 6 | def read_mat(filename: PathType, port: int = 0) -> tuple[np.ndarray, np.ndarray]: 7 | """Reads .mat file and returns 2 np.arrays (wavelength, power). 8 | 9 | input: (.mat data download filename, port response) 10 | outputs parsed data array [wavelength (m), power (dBm)] 11 | data is assumed to be from automated measurement scanResults or scandata format 12 | based on SiEPIC_Photonics_Package/core.py 13 | """ 14 | data = loadmat(filename) 15 | 16 | if "scanResults" in data: 17 | wavelength = data["scanResults"][0][port][0][:, 0] 18 | power = data["scanResults"][0][port][0][:, 1] 19 | elif "scandata" in data: 20 | wavelength = data["scandata"][0][0][0][:][0] 21 | power = data["scandata"][0][0][1][:, port] 22 | elif "wavelength" in data: 23 | wavelength = data["wavelength"][0][:] 24 | power = data["power"][:, port][:] 25 | 26 | return [wavelength, power] 27 | 28 | 29 | if __name__ == "__main__": 30 | import matplotlib.pyplot as plt 31 | 32 | import ubcpdk 33 | 34 | w, p = read_mat(ubcpdk.PATH.mzi1) 35 | plt.plot(w, p) 36 | plt.show() 37 | -------------------------------------------------------------------------------- /ubcpdk/data/remove_baseline.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | from ubcpdk.data.read_mat import read_mat 4 | 5 | 6 | def remove_baseline(wavelength: np.ndarray, power: np.ndarray, deg: int = 4): 7 | """Return power corrected without baseline. 8 | 9 | Fit a polynomial ``p(x) = p[0] * x**deg + ... + p[deg]`` of degree `deg` 10 | """ 11 | pfit = np.polyfit(wavelength - np.mean(wavelength), power, deg) 12 | power_baseline = np.polyval(pfit, wavelength - np.mean(wavelength)) 13 | 14 | power_corrected = power - power_baseline 15 | power_corrected = power_corrected + max(power_baseline) - max(power) 16 | return power_corrected 17 | 18 | 19 | if __name__ == "__main__": 20 | import matplotlib.pyplot as plt 21 | 22 | import ubcpdk 23 | 24 | w, p = read_mat(ubcpdk.PATH.mzi1) 25 | pc = remove_baseline(w, p) 26 | plt.plot(w, pc) 27 | plt.show() 28 | -------------------------------------------------------------------------------- /ubcpdk/data/windowed_mean.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import scipy.signal as sig 3 | 4 | 5 | def windowed_mean(data: np.array, n: int = 60) -> np.array: 6 | """Returns the smoothen data using a window averaging of a 1d array. 7 | 8 | Args: 9 | data: data array. 10 | n: points per window. 11 | """ 12 | dims = len(data.shape) 13 | s = sig.convolve(data, np.ones((2 * n + 1,) * dims), mode="same") 14 | d = sig.convolve(np.ones_like(data), np.ones((2 * n + 1,) * dims), mode="same") 15 | return s / d 16 | 17 | 18 | if __name__ == "__main__": 19 | import matplotlib.pyplot as plt 20 | 21 | from ubcpdk.config import PATH 22 | from ubcpdk.data.read_mat import read_mat 23 | 24 | wavelength, power = read_mat(PATH.ring_te_r3_g100) 25 | power_envelope = windowed_mean(power, 60) 26 | plt.plot(wavelength, power, label="power") 27 | plt.plot(wavelength, power_envelope, label="envelope") 28 | plt.legend() 29 | plt.show() 30 | -------------------------------------------------------------------------------- /ubcpdk/gds/ANT/ebeam_splitter_swg_assist_te1310_ANT.GDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ANT/ebeam_splitter_swg_assist_te1310_ANT.GDS -------------------------------------------------------------------------------- /ubcpdk/gds/ANT/ebeam_splitter_swg_assist_te1550_ANT.GDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ANT/ebeam_splitter_swg_assist_te1550_ANT.GDS -------------------------------------------------------------------------------- /ubcpdk/gds/Alignment_Marker.GDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/Alignment_Marker.GDS -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam/GCs_BB.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam/GCs_BB.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam/ebeam_adiabatic_te1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam/ebeam_adiabatic_te1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam/ebeam_adiabatic_tm1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam/ebeam_adiabatic_tm1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam/ebeam_bdc_te1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam/ebeam_bdc_te1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam/ebeam_crossing4.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam/ebeam_crossing4.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam/ebeam_gc_te1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam/ebeam_gc_te1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam/ebeam_gc_tm1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam/ebeam_gc_tm1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam/ebeam_splitter_swg_assist_te1310.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam/ebeam_splitter_swg_assist_te1310.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam/ebeam_splitter_swg_assist_te1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam/ebeam_splitter_swg_assist_te1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam/ebeam_terminator_te1310.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam/ebeam_terminator_te1310.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam/ebeam_terminator_te1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam/ebeam_terminator_te1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam/ebeam_terminator_tm1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam/ebeam_terminator_tm1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam/ebeam_y_1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam/ebeam_y_1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam/ebeam_y_adiabatic.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam/ebeam_y_adiabatic.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam/taper_si_simm_1310.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam/taper_si_simm_1310.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam/taper_si_simm_1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam/taper_si_simm_1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/Alignment_Marker.GDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/Alignment_Marker.GDS -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/Packaging_FibreArray_8ch.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/Packaging_FibreArray_8ch.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/SEM_example.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/SEM_example.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/ebeam_BondPad.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/ebeam_BondPad.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/ebeam_bdc_tm1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/ebeam_bdc_tm1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/ebeam_gc_te1310.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/ebeam_gc_te1310.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/ebeam_gc_te1310_8deg.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/ebeam_gc_te1310_8deg.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/ebeam_gc_te1310_broadband.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/ebeam_gc_te1310_broadband.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/ebeam_gc_te1550_90nmSlab.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/ebeam_gc_te1550_90nmSlab.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/ebeam_gc_te1550_broadband.GDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/ebeam_gc_te1550_broadband.GDS -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/ebeam_splitter_adiabatic_swg_te1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/ebeam_splitter_adiabatic_swg_te1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/ebeam_swg_edgecoupler.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/ebeam_swg_edgecoupler.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/ebeam_terminator_te1310.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/ebeam_terminator_te1310.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/ebeam_y_adiabatic_1310.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/ebeam_y_adiabatic_1310.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/metal_via.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/metal_via.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/photonic_wirebond_surfacetaper_1310.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/photonic_wirebond_surfacetaper_1310.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/photonic_wirebond_surfacetaper_1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/photonic_wirebond_surfacetaper_1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/siepic_o_gc_te1270_BB.GDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/siepic_o_gc_te1270_BB.GDS -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/siepic_o_pwbstlas_si_BB.GDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/siepic_o_pwbstlas_si_BB.GDS -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_Beta/thermal_phase_shifters.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_Beta/thermal_phase_shifters.gds -------------------------------------------------------------------------------- /ubcpdk/gds/EBeam_SiN/ebeam_BondPad.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/EBeam_SiN/ebeam_BondPad.gds -------------------------------------------------------------------------------- /ubcpdk/gds/Packaging_FibreArray_8ch.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/Packaging_FibreArray_8ch.gds -------------------------------------------------------------------------------- /ubcpdk/gds/SEM_example.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/SEM_example.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_BondPad.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_BondPad.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_adiabatic_te1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_adiabatic_te1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_adiabatic_tm1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_adiabatic_tm1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_bdc_te1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_bdc_te1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_bdc_tm1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_bdc_tm1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_crossing4.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_crossing4.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_gc_te1310.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_gc_te1310.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_gc_te1310_8deg.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_gc_te1310_8deg.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_gc_te1310_broadband.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_gc_te1310_broadband.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_gc_te1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_gc_te1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_gc_te1550_90nmSlab.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_gc_te1550_90nmSlab.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_gc_te1550_broadband.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_gc_te1550_broadband.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_gc_tm1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_gc_tm1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_splitter_adiabatic_swg_te1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_splitter_adiabatic_swg_te1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_splitter_swg_assist_te1310.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_splitter_swg_assist_te1310.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_splitter_swg_assist_te1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_splitter_swg_assist_te1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_swg_edgecoupler.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_swg_edgecoupler.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_terminator_te1310.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_terminator_te1310.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_terminator_te1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_terminator_te1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_terminator_tm1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_terminator_tm1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_y_1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_y_1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_y_adiabatic.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_y_adiabatic.gds -------------------------------------------------------------------------------- /ubcpdk/gds/ebeam_y_adiabatic_1310.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/ebeam_y_adiabatic_1310.gds -------------------------------------------------------------------------------- /ubcpdk/gds/metal_via.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/metal_via.gds -------------------------------------------------------------------------------- /ubcpdk/gds/photonic_wirebond_surfacetaper_1310.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/photonic_wirebond_surfacetaper_1310.gds -------------------------------------------------------------------------------- /ubcpdk/gds/photonic_wirebond_surfacetaper_1550.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/photonic_wirebond_surfacetaper_1550.gds -------------------------------------------------------------------------------- /ubcpdk/gds/thermal_phase_shifters.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/gds/thermal_phase_shifters.gds -------------------------------------------------------------------------------- /ubcpdk/import_pdk.py: -------------------------------------------------------------------------------- 1 | import gdsfactory as gf 2 | 3 | from ubcpdk.config import PATH 4 | 5 | if __name__ == "__main__": 6 | print( 7 | gf.write_cells.get_import_gds_script( 8 | dirpath=PATH.gds / "EBeam", module="ubpdk.components" 9 | ) 10 | ) 11 | print( 12 | gf.write_cells.get_import_gds_script( 13 | dirpath="gds/EBeam_Beta", module="ubpdk.components" 14 | ) 15 | ) 16 | -------------------------------------------------------------------------------- /ubcpdk/klayout/tech/pymacros/set_menus.lym: -------------------------------------------------------------------------------- 1 | 2 | 3 | set_menus 4 | 5 | pymacros 6 | 7 | 8 | 9 | true 10 | false 11 | 12 | false 13 | 14 | ubcpdk.begin 15 | python 16 | 17 | 18 | import pya 19 | 20 | __version__ = "2.7.0" 21 | 22 | 23 | def set_menu(): 24 | menu = pya.Application.instance().main_window().menu() 25 | 26 | s0 = "ubcpdk" 27 | if not (menu.is_menu(s0)): 28 | menu.insert_menu("macros_menu", s0, f"ubcpdk {__version__}") 29 | 30 | 31 | if __name__ == "__main__": 32 | set_menu() 33 | 34 | 35 | -------------------------------------------------------------------------------- /ubcpdk/models.py: -------------------------------------------------------------------------------- 1 | from __future__ import annotations 2 | 3 | from functools import partial 4 | 5 | import gplugins.sax.models as sm 6 | 7 | nm = 1e-3 8 | 9 | 10 | straight = partial(sm.straight, wl0=1.55, neff=2.4, ng=4.2) 11 | bend_euler_sc = bend_euler = partial(sm.bend, loss=0.03) 12 | 13 | ################ 14 | # grating couplers 15 | ################ 16 | gc_te1550 = partial(sm.grating_coupler, loss=6, bandwidth=35 * nm, wl0=1.55) 17 | gc_te1550_broadband = partial(sm.grating_coupler, loss=6, bandwidth=50 * nm, wl0=1.55) 18 | gc_tm1550 = partial(sm.grating_coupler, loss=6, bandwidth=35 * nm, wl0=1.55) 19 | gc_te1310_broadband = partial(sm.grating_coupler, loss=6, bandwidth=50 * nm, wl0=1.31) 20 | gc_te1310 = partial(sm.grating_coupler, loss=6, bandwidth=35 * nm, wl0=1.31) 21 | 22 | ################ 23 | # MMIs 24 | ################ 25 | mmi1x2 = partial(sm.mmi1x2, wl0=1.55, fwhm=0.2, loss_dB=0.3) 26 | mmi2x2 = partial(sm.mmi2x2, wl0=1.55, fwhm=0.2, loss_dB=0.3) 27 | ebeam_y_1550 = mmi1x2 28 | coupler = sm.coupler 29 | 30 | if __name__ == "__main__": 31 | import gplugins.sax as gs 32 | 33 | gs.plot_model(gc_te1550) 34 | gs.plot_model(coupler) 35 | -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num10_1272.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num10_1272.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num11_1273.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num11_1273.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num12_1271.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num12_1271.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num13_1278.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num13_1278.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num14_1276.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num14_1276.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num15_1277.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num15_1277.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num16_1275.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num16_1275.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num17_1282.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num17_1282.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num18_1280.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num18_1280.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num19_1281.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num19_1281.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num1_1266.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num1_1266.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num20_1279.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num20_1279.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num21_1286.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num21_1286.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num22_1284.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num22_1284.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num23_1285.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num23_1285.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num24_1283.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num24_1283.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num2_1264.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num2_1264.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num3_1265.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num3_1265.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num4_1263.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num4_1263.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num5_1270.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num5_1270.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num6_1268.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num6_1268.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num7_1269.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num7_1269.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num8_1267.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num8_1267.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num9_1274.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num9_1274.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num10_1248.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num10_1248.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num11_1249.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num11_1249.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num12_1247.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num12_1247.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num13_1254.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num13_1254.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num14_1252.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num14_1252.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num15_1253.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num15_1253.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num16_1251.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num16_1251.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num17_1258.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num17_1258.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num18_1256.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num18_1256.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num19_1257.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num19_1257.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num1_1242.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num1_1242.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num20_1255.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num20_1255.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num21_1262.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num21_1262.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num22_1260.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num22_1260.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num23_1261.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num23_1261.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num24_1259.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num24_1259.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num2_1240.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num2_1240.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num3_1241.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num3_1241.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num4_1239.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num4_1239.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num5_1246.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num5_1246.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num6_1244.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num6_1244.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num7_1245.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num7_1245.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num8_1243.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num8_1243.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num9_1250.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num9_1250.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num10_1200.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num10_1200.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num11_1201.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num11_1201.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num12_1199.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num12_1199.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num13_1206.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num13_1206.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num14_1204.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num14_1204.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num15_1205.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num15_1205.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num16_1203.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num16_1203.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num17_1210.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num17_1210.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num18_1208.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num18_1208.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num19_1209.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num19_1209.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num1_1194.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num1_1194.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num20_1207.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num20_1207.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num21_1214.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num21_1214.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num22_1212.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num22_1212.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num23_1213.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num23_1213.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num24_1211.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num24_1211.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num2_1192.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num2_1192.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num3_1193.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num3_1193.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num4_1191.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num4_1191.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num5_1198.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num5_1198.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num6_1196.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num6_1196.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num7_1197.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num7_1197.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num8_1195.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num8_1195.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num9_1202.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num9_1202.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/mzi/EB486A_URChip3Coords.txt: -------------------------------------------------------------------------------- 1 | %,,,,,, 2 | 223.85,29.15,TE,1550,device,LukasChrostowski_MZI2, 1394.5 3 | 892.6,145.4,TE,1550,device,ZiheGao_MZI17,219.366 4 | 772.6,145.4,TE,1550,device,ZiheGao_MZI8, 217.649 5 | 652.6,145.4,TE,1550,device,ZiheGao_MZI6, 215.932 6 | 532.6,145.4,TE,1550,device,ZiheGao_MZI5, 206.703125 7 | 412.6,145.4,TE,1550,device,ZiheGao_MZI4, 207.08945 8 | 292.6,145.4,TE,1550,device,ZiheGao_MZI3, 214.215 9 | 172.6,145.4,TE,1550,device,ZiheGao_MZI2, 111.915 10 | 33.85,29.15,TE,1550,device,LukasChrostowski_MZI1, 26.8 11 | -------------------------------------------------------------------------------- /ubcpdk/samples/data/mzi/EB486A_URChip3Coords1.txt: -------------------------------------------------------------------------------- 1 | %,,,,,, 2 | 223.85,29.15,TE,1550,device,LukasChrostowski_MZI2, 1394.5 3 | 892.6,145.4,TE,1550,device,ZiheGao_MZI17,219.366 4 | 772.6,145.4,TE,1550,device,ZiheGao_MZI8, 217.649 5 | 652.6,145.4,TE,1550,device,ZiheGao_MZI6, 215.932 6 | 532.6,145.4,TE,1550,device,ZiheGao_MZI5, 206.703125 7 | 412.6,145.4,TE,1550,device,ZiheGao_MZI4, 207.08945 8 | 292.6,145.4,TE,1550,device,ZiheGao_MZI3, 214.215 9 | 172.6,145.4,TE,1550,device,ZiheGao_MZI2, 111.915 10 | -------------------------------------------------------------------------------- /ubcpdk/samples/data/mzi/LukasChrostowski_MZI1_135_Scan1.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/mzi/LukasChrostowski_MZI1_135_Scan1.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/mzi/LukasChrostowski_MZI2_136_Scan1.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/mzi/LukasChrostowski_MZI2_136_Scan1.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/mzi/ZiheGao_MZI17_265_Scan1.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/mzi/ZiheGao_MZI17_265_Scan1.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/mzi/ZiheGao_MZI1_272_Scan1.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/mzi/ZiheGao_MZI1_272_Scan1.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/mzi/ZiheGao_MZI1_273_Scan1.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/mzi/ZiheGao_MZI1_273_Scan1.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/mzi/ZiheGao_MZI2_271_Scan1.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/mzi/ZiheGao_MZI2_271_Scan1.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/mzi/ZiheGao_MZI3_270_Scan1.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/mzi/ZiheGao_MZI3_270_Scan1.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/mzi/ZiheGao_MZI4_269_Scan1.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/mzi/ZiheGao_MZI4_269_Scan1.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/mzi/ZiheGao_MZI5_268_Scan1.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/mzi/ZiheGao_MZI5_268_Scan1.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/mzi/ZiheGao_MZI6_267_Scan1.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/mzi/ZiheGao_MZI6_267_Scan1.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/mzi/ZiheGao_MZI8_266_Scan1.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/mzi/ZiheGao_MZI8_266_Scan1.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/ring/LukasC_RingDoubleTER10g100_1495.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/ring/LukasC_RingDoubleTER10g100_1495.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/ring/LukasC_RingDoubleTER10g150_1494.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/ring/LukasC_RingDoubleTER10g150_1494.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/ring/LukasC_RingDoubleTER10g200_1493.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/ring/LukasC_RingDoubleTER10g200_1493.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/ring/LukasC_RingDoubleTER10g50_1496.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/ring/LukasC_RingDoubleTER10g50_1496.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/ring/LukasC_RingDoubleTER3g100_1498.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/ring/LukasC_RingDoubleTER3g100_1498.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/ring/LukasC_RingDoubleTER3g150_1497.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/ring/LukasC_RingDoubleTER3g150_1497.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/ring/LukasC_RingDoubleTMR30g150_1492.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/ring/LukasC_RingDoubleTMR30g150_1492.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/ring/LukasC_RingDoubleTMR30g200_1491.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/ring/LukasC_RingDoubleTMR30g200_1491.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/ring/LukasC_RingDoubleTMR30g250_1490.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/samples/data/ring/LukasC_RingDoubleTMR30g250_1490.mat -------------------------------------------------------------------------------- /ubcpdk/samples/data/ring/lukasc_RingResonator.txt: -------------------------------------------------------------------------------- 1 | Double-bus ring resonators 2 | symmetrically coupled 3 | 4 | TE: 5 | R = [3] 6 | g = [ 50, 100, 150] 7 | 8 | R = [10] 9 | g = [ 50, 100, 150, 200 ] 10 | 11 | TM: 12 | R = [30] 13 | g = [150, 200, 250] 14 | -------------------------------------------------------------------------------- /ubcpdk/samples/test_circuit_simulations.py: -------------------------------------------------------------------------------- 1 | import jax.numpy as jnp 2 | import matplotlib.pyplot as plt 3 | import sax 4 | 5 | import ubcpdk 6 | from ubcpdk import PDK 7 | 8 | 9 | def test_mzi(): 10 | c = ubcpdk.components.mzi(delta_length=20) 11 | netlist = c.get_netlist() 12 | models = PDK.models 13 | circuit, _ = sax.circuit(netlist, models=models) # type: ignore 14 | wl = jnp.linspace(1.5, 1.6) 15 | 16 | S = circuit(wl=wl) 17 | assert S 18 | 19 | 20 | if __name__ == "__main__": 21 | c = ubcpdk.components.mzi(delta_length=20) 22 | netlist = c.get_netlist() 23 | models = PDK.models 24 | circuit, _ = sax.circuit(netlist, models=models) # type: ignore 25 | wl = jnp.linspace(1.5, 1.6) 26 | 27 | S = circuit(wl=wl) 28 | plt.figure(figsize=(14, 4)) 29 | plt.title("MZI") 30 | plt.plot(1e3 * wl, jnp.abs(S["o1", "o2"]) ** 2) # type: ignore 31 | plt.xlabel("λ [nm]") 32 | plt.ylabel("T") 33 | plt.grid(True) 34 | plt.show() 35 | -------------------------------------------------------------------------------- /ubcpdk/samples/test_ubc1.py: -------------------------------------------------------------------------------- 1 | import gdsfactory as gf 2 | 3 | import ubcpdk.components as uc 4 | from ubcpdk.tech import LAYER 5 | 6 | size = (440, 470) 7 | add_gc = uc.add_fiber_array 8 | 9 | 10 | @gf.cell 11 | def EBeam_JoaquinMatres_1() -> gf.Component: 12 | """Add DBR cavities.""" 13 | e = [add_gc(uc.straight())] 14 | e += [add_gc(uc.mzi(delta_length=dl)) for dl in [9.32, 93.19]] 15 | e += [ 16 | add_gc(uc.ring_single(radius=12, gap=gap, length_x=coupling_length)) 17 | for gap in [0.2] 18 | for coupling_length in [2.5, 4.5, 6.5] 19 | ] 20 | 21 | e += [ 22 | uc.dbr_cavity_te(w0=w0, dw=dw) 23 | for w0 in [0.5] 24 | for dw in [50e-3, 100e-3, 150e-3, 200e-3] 25 | ] 26 | e += [add_gc(uc.ring_with_crossing())] 27 | e += [add_gc(uc.ring_with_crossing(port_name="o2", with_component=False))] 28 | 29 | c = gf.Component() 30 | _ = c << gf.pack(e, max_size=size, spacing=2)[0] 31 | _ = c << gf.components.rectangle(size=size, layer=LAYER.FLOORPLAN) 32 | return c 33 | 34 | 35 | def test_ubc1() -> None: 36 | c = EBeam_JoaquinMatres_1() 37 | assert c 38 | 39 | 40 | if __name__ == "__main__": 41 | c = EBeam_JoaquinMatres_1() 42 | c.show() # show in klayout 43 | -------------------------------------------------------------------------------- /ubcpdk/samples/test_ubc2.py: -------------------------------------------------------------------------------- 1 | import gdsfactory as gf 2 | 3 | import ubcpdk.components as uc 4 | from ubcpdk.tech import LAYER 5 | 6 | size = (440, 470) 7 | add_gc = uc.add_fiber_array 8 | 9 | 10 | @gf.cell 11 | def EBeam_JoaquinMatres_2() -> gf.Component: 12 | """spirals for extracting straight waveguide loss""" 13 | e = [ 14 | uc.add_fiber_array(component=uc.spiral(n_loops=8, length=length)) 15 | for length in [0, 100, 200] 16 | ] 17 | 18 | c = gf.Component() 19 | _ = c << gf.pack(e, max_size=size, spacing=2)[0] 20 | _ = c << gf.components.rectangle(size=size, layer=LAYER.FLOORPLAN) 21 | return c 22 | 23 | 24 | def test_ubc2() -> None: 25 | c = EBeam_JoaquinMatres_2() 26 | assert c 27 | 28 | 29 | if __name__ == "__main__": 30 | c = EBeam_JoaquinMatres_2() 31 | c.show() # show in klayout 32 | -------------------------------------------------------------------------------- /ubcpdk/samples/test_ubc3.py: -------------------------------------------------------------------------------- 1 | import gdsfactory as gf 2 | 3 | import ubcpdk.components as uc 4 | from ubcpdk.tech import LAYER 5 | 6 | size = (440, 470) 7 | add_gc = uc.add_fiber_array 8 | 9 | 10 | @gf.cell 11 | def EBeam_JoaquinMatres_3() -> gf.Component: 12 | """Contains mirror cavities and structures inside a resonator.""" 13 | e = [] 14 | e += [add_gc(uc.ebeam_crossing4())] 15 | e += [add_gc(uc.ebeam_adiabatic_te1550(), optical_routing_type=1)] 16 | e += [add_gc(uc.ebeam_bdc_te1550())] 17 | e += [add_gc(uc.ebeam_y_1550(), optical_routing_type=1)] 18 | e += [add_gc(uc.straight(), component_name=f"straight_{i}") for i in range(2)] 19 | c = gf.Component() 20 | _ = c << gf.pack(e, max_size=size, spacing=2)[0] 21 | _ = c << gf.components.rectangle(size=size, layer=LAYER.FLOORPLAN) 22 | return c 23 | 24 | 25 | def test_ubc3() -> None: 26 | c = EBeam_JoaquinMatres_3() 27 | assert c 28 | 29 | 30 | if __name__ == "__main__": 31 | c = EBeam_JoaquinMatres_3() 32 | c.show() # show in klayout 33 | -------------------------------------------------------------------------------- /ubcpdk/samples/test_ubc4.py: -------------------------------------------------------------------------------- 1 | from functools import partial 2 | 3 | import gdsfactory as gf 4 | 5 | import ubcpdk.components as uc 6 | from ubcpdk.tech import LAYER 7 | 8 | size = (440, 470) 9 | add_gc = uc.add_fiber_array 10 | 11 | 12 | @gf.cell 13 | def EBeam_JoaquinMatres_4() -> gf.Component: 14 | """MZI interferometers.""" 15 | mzi = partial(gf.components.mzi, splitter=uc.ebeam_y_1550) 16 | mzis = [mzi(delta_length=delta_length) for delta_length in [10, 40, 100]] 17 | mzis_gc = [uc.add_fiber_array(mzi) for mzi in mzis] 18 | 19 | mzis = [uc.mzi_heater(delta_length=delta_length) for delta_length in [40]] 20 | mzis_heater_gc = [ 21 | uc.add_fiber_array_pads_rf(mzi, orientation=90, optical_routing_type=2) 22 | for mzi in mzis 23 | ] 24 | 25 | e = mzis_gc + mzis_heater_gc 26 | c = gf.Component() 27 | _ = c << gf.pack(e, max_size=size, spacing=2)[0] 28 | _ = c << gf.components.rectangle(size=size, layer=LAYER.FLOORPLAN) 29 | return c 30 | 31 | 32 | def test_ubc4() -> None: 33 | c = EBeam_JoaquinMatres_4() 34 | assert c 35 | 36 | 37 | if __name__ == "__main__": 38 | c = EBeam_JoaquinMatres_4() 39 | c.show() # show in klayout 40 | -------------------------------------------------------------------------------- /ubcpdk/samples/test_ubc5.py: -------------------------------------------------------------------------------- 1 | import gdsfactory as gf 2 | 3 | import ubcpdk.components as uc 4 | from ubcpdk.tech import LAYER 5 | 6 | size = (440, 470) 7 | add_gc = uc.add_fiber_array 8 | 9 | 10 | @gf.cell 11 | def EBeam_JoaquinMatres_5() -> gf.Component: 12 | """Ring resonators.""" 13 | 14 | rings = [] 15 | for length_x in [4]: 16 | ring = uc.ring_single_heater(length_x=length_x) 17 | ring_gc = uc.add_fiber_array_pads_rf(ring) 18 | rings.append(ring_gc) 19 | 20 | c = gf.Component() 21 | _ = c << gf.pack(rings, max_size=size, spacing=2)[0] 22 | _ = c << gf.components.rectangle(size=size, layer=LAYER.FLOORPLAN) 23 | return c 24 | 25 | 26 | def test_ubc5() -> None: 27 | c = EBeam_JoaquinMatres_5() 28 | assert c 29 | 30 | 31 | if __name__ == "__main__": 32 | c = EBeam_JoaquinMatres_5() 33 | c.show() # show in klayout 34 | -------------------------------------------------------------------------------- /ubcpdk/simulation/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/simulation/__init__.py -------------------------------------------------------------------------------- /ubcpdk/simulation/circuits/__init__.py: -------------------------------------------------------------------------------- 1 | from ubcpdk.simulation.circuits.mzi_spectrum import ( 2 | mzi_spectrum, 3 | ) 4 | from ubcpdk.simulation.circuits.waveguide import ( 5 | beta, 6 | neff, 7 | ) 8 | 9 | __all__ = [ 10 | "beta", 11 | "mzi_spectrum", 12 | "neff", 13 | "waveguide", 14 | ] 15 | -------------------------------------------------------------------------------- /ubcpdk/simulation/circuits/mzi_spectrum.py: -------------------------------------------------------------------------------- 1 | """MZI spectrum model. 2 | 3 | based on https://github.com/SiEPIC-Kits/SiEPIC_Photonics_Package 4 | """ 5 | 6 | import numpy as np 7 | 8 | from ubcpdk.simulation.circuits.waveguide import beta, neff, wavelength_um 9 | 10 | 11 | def mzi_spectrum( 12 | L1_um, 13 | L2_um, 14 | wavelength_um=wavelength_um, 15 | beta=beta, 16 | alpha=1e-3, 17 | neff=neff, 18 | n1=2.4, 19 | n2=-1, 20 | n3=0, 21 | ): 22 | """Returns MZI spectrum. 23 | 24 | Args: 25 | L1_um. 26 | L2_um. 27 | wavelength_um. 28 | beta: propagation constant. 29 | """ 30 | if callable(beta): 31 | beta = beta(wavelength_um, neff=neff, alpha=alpha, n1=n1, n2=n2, n3=n3) 32 | 33 | return 0.25 * np.abs(np.exp(-1j * beta * L1_um) + np.exp(-1j * beta * L2_um)) ** 2 34 | 35 | 36 | if __name__ == "__main__": 37 | import matplotlib.pyplot as plt 38 | 39 | # plt.plot(wavelength_um, mzi_spectrum(100, 110)) 40 | plt.plot(wavelength_um, 10 * np.log10(mzi_spectrum(L1_um=40, L2_um=255))) 41 | plt.show() 42 | -------------------------------------------------------------------------------- /ubcpdk/simulation/circuits/waveguide.py: -------------------------------------------------------------------------------- 1 | """Wavelength dependent effective index model. 2 | 3 | based on https://github.com/SiEPIC-Kits/SiEPIC_Photonics_Package 4 | """ 5 | 6 | import numpy as np 7 | 8 | wavelength_start = 1500e-9 9 | wavelength_stop = 1600e-9 10 | resolution = 0.001 11 | wavelength_um = ( 12 | np.linspace( 13 | wavelength_start, 14 | wavelength_stop, 15 | round((wavelength_stop - wavelength_start) * 1e9 / resolution), 16 | ) 17 | * 1e6 18 | ) 19 | 20 | 21 | def neff(wavelength_um=wavelength_um, n1=2.4, n2=-1.0, n3=0.0, wavelength0_um=1.55): 22 | """Waveguide model neff.""" 23 | w = wavelength_um 24 | w0 = wavelength0_um 25 | return n1 + n2 * (w - w0) + n3 * (w - w0) ** 2 26 | 27 | 28 | def beta(wavelength_um=wavelength_um, alpha=1e-3, neff=neff, n1=2.4, n2=-1, n3=0): 29 | """Propagation constant. 30 | 31 | Args: 32 | wavelength_um: in um. 33 | alpha: propagation loss [micron^-1] constant. 34 | """ 35 | if callable(neff): 36 | neff = neff(wavelength_um, n1=n1, n2=n2, n3=n3) 37 | 38 | return 2 * np.pi * neff / wavelength_um - 1j * alpha / 2 * np.ones( 39 | np.size(wavelength_um) 40 | ) 41 | 42 | 43 | if __name__ == "__main__": 44 | import matplotlib.pyplot as plt 45 | 46 | plt.plot(wavelength_um, neff(wavelength_um)) 47 | plt.show() 48 | -------------------------------------------------------------------------------- /ubcpdk/simulation/find_neff_vs_width.csv: -------------------------------------------------------------------------------- 1 | 1,2,3,4,width 2 | 1.507516279000752,1.490839885168573,1.334428104508565,1.31883631979705,0.2 3 | 1.698188818278546,1.5748821007032343,1.3865612186924492,1.363887878522382,0.27272727272727276 4 | 2.051695539725326,1.6578679587399596,1.4070535408999676,1.3790662732636632,0.34545454545454546 5 | 2.2815028968811437,1.7237278334388788,1.4142583859979936,1.4049267990405658,0.4181818181818182 6 | 2.430127277033941,1.7797815493377667,1.4715685670218184,1.4187858689740733,0.49090909090909096 7 | 2.5287293532486776,1.8274889022507173,1.5960108880397166,1.4231027277788306,0.5636363636363637 8 | 2.597343774412331,1.8639854406271361,1.7874980200692214,1.4292258379398397,0.6363636363636365 9 | 2.646915777907601,1.9815476906389085,1.8950573620696547,1.4403453771131784,0.7090909090909092 10 | 2.684551652942098,2.1446838691288437,1.9216836186417265,1.5214094763971397,0.781818181818182 11 | 2.710039181670572,2.2580252850892575,1.940138372823012,1.5751273922790152,0.8545454545454547 12 | 2.7302029135994164,2.3474704545687093,1.9557489916983475,1.6674679214174426,0.9272727272727275 13 | 2.7464778984099447,2.4189574803236544,1.969335587598912,1.8166096780006489,1.0 14 | -------------------------------------------------------------------------------- /ubcpdk/simulation/lumerical/EBeam.cml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gdsfactory/ubc/5e9369cf5b3557b728a2e74282fd1e3ffd12bd07/ubcpdk/simulation/lumerical/EBeam.cml -------------------------------------------------------------------------------- /ubcpdk/simulation/lumerical/lumerical_process_file.lbr: -------------------------------------------------------------------------------- 1 | 2 | silicon 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ubcpdk/simulation/modes_waveguide.py: -------------------------------------------------------------------------------- 1 | """MPB mode simulations.""" 2 | 3 | from functools import partial 4 | 5 | import gplugins.modes as gm 6 | 7 | from ubcpdk.config import PATH 8 | 9 | nm = 1e-3 10 | 11 | find_modes_waveguide = partial( 12 | gm.find_modes_waveguide, 13 | wg_width=500 * nm, 14 | wg_thickness=220 * nm, 15 | slab_thickness=0 * nm, 16 | resolution=20, 17 | nmodes=4, 18 | cache=PATH.modes, 19 | ) 20 | 21 | 22 | find_neff_vs_width = partial( 23 | gm.find_neff_vs_width, cache=PATH.modes, filepath="find_neff_vs_width.csv" 24 | ) 25 | 26 | 27 | if __name__ == "__main__": 28 | import matplotlib.pyplot as plt 29 | 30 | df = find_neff_vs_width() 31 | gm.plot_neff_vs_width(df) 32 | plt.show() 33 | -------------------------------------------------------------------------------- /update_source.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export VERSION=0.3.41 4 | export CML_VER=2022_02_01 5 | 6 | export GIT_REPO=https://github.com/SiEPIC/SiEPIC_EBeam_PDK 7 | 8 | export REPO_TECH=SiEPIC_EBeam_PDK-${VERSION}/klayout_dot_config/tech/EBeam 9 | export UBC_TECH=ubcpdk/klayout/tech 10 | export LUM_DIR=ubcpdk/simulation/lumerical 11 | export GDS_DIR=ubcpdk/gds 12 | 13 | 14 | # Download EBeam PDK archive and extract it here 15 | wget ${GIT_REPO}/archive/refs/tags/v${VERSION}.tar.gz 16 | tar -xvf v${VERSION}.tar.gz 17 | 18 | # Copy files from tech 19 | cp -r ${REPO_TECH}/klayout_Layers_EBeam.lyp ${UBC_TECH}/layers.lyp 20 | cp -r ${REPO_TECH}/EBeam.lyt ${UBC_TECH}/tech.lyt 21 | cp -r ${REPO_TECH}/EBeam_v${CML_VER}.cml ${LUM_DIR}/EBeam.cml 22 | cp -r ${REPO_TECH}/lumerical_process_file.lbr ${LUM_DIR}/lumerical_process_file.lbr 23 | 24 | # TODO: Make this work with the naming used by SiEPIC 25 | # gf gds layermap_to_dataclass ${UBC_TECH}/layers.lyp 26 | 27 | # Copy files from gds 28 | cp -r ${REPO_TECH}/gds/development/*.gds ${GDS_DIR} 29 | cp -r ${REPO_TECH}/gds/mature/*.gds ${GDS_DIR} 30 | 31 | # Clean up 32 | rm -r v${VERSION}.tar.gz SiEPIC_EBeam_PDK-${VERSION} 33 | --------------------------------------------------------------------------------