gplugins 1.4.0__tar.gz → 1.4.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {gplugins-1.4.0 → gplugins-1.4.2}/PKG-INFO +4 -4
- {gplugins-1.4.0 → gplugins-1.4.2}/README.md +1 -1
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/__init__.py +1 -1
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmsh/xyz_mesh.py +3 -7
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/path_length_analysis/path_length_analysis_from_gds.py +15 -7
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sax/plot_model.py +25 -5
- {gplugins-1.4.0 → gplugins-1.4.2}/pyproject.toml +4 -4
- {gplugins-1.4.0 → gplugins-1.4.2}/LICENSE +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/base_models/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/base_models/component.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/base_models/simulation.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/config.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/types.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/utils/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/utils/add_simulation_markers.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/utils/async_helpers.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/utils/cache.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/utils/convert_sparameters.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/utils/disable_print.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/utils/get_capacitance.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/utils/get_component_with_net_layers.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/utils/get_effective_indices.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/utils/get_scattering.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/utils/get_sparameters_path.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/utils/optical_constants.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/utils/parse_layer_stack.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/utils/plot.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/utils/plot_csv.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/utils/port_symmetries.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/common/utils/tests/test_get_component_with_new_port_layers.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/devsim/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/devsim/doping.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/devsim/get_simulation.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/devsim/get_simulation_xsection.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/devsim/get_solver.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/devsim/test_devsim.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/elmer/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/elmer/electrostatic.sif.j2 +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/elmer/get_capacitance.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/elmer/tests/test_elmer.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/fdtdz/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/fdtdz/get_epsilon_fdtdz.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/fdtdz/get_ports_fdtdz.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/fdtdz/get_sparameters_fdtdz.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/femwell/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/femwell/mode_solver.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/femwell/solve_thermal.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/femwell/test_mode_solver.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gfviz/Makefile +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gfviz/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gfviz/b64.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gfviz/gfviz.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gfviz/netlist.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gfviz/serve.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gfviz/static/b64.js +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gfviz/static/schemedit.js +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gfviz/static/schemedit.wasm +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gfviz/templates/example.json +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gfviz/templates/index.html +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/get_material.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/get_meep_geometry.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/get_port_eigenmode.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/get_simulation.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/get_simulation_grating_farfield.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/get_simulation_grating_fiber.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/meep_adjoint_optimization.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_eigenmode.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_materials.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_sparameterNxN/test_sparameterNxN_crossing.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_sparameterNxN/test_sparameterNxN_straight.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_write_sparameters_meep/test_sparameterNxN_crossing.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_write_sparameters_meep/test_sparameterNxN_straight.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_write_sparameters_meep/test_sparameterNxN_symmetries_straight.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_write_sparameters_meep/test_sparameter_straight_mpi.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_write_sparameters_meep/test_sparameter_straight_mpi_pool.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_write_sparameters_meep/test_sparameters_crossing_symmetric.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_write_sparameters_meep/test_sparameters_straight.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_write_sparameters_meep/test_sparameters_straight_batch.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_write_sparameters_meep/test_sparameters_straight_mpi.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_write_sparameters_meep/test_sparameters_straight_mpi_pool.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_write_sparameters_meep/test_sparameters_straight_symmetric.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_write_sparameters_meep.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/write_sparameters_grating.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/write_sparameters_meep.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/write_sparameters_meep_batch.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/write_sparameters_meep_mpi.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmsh/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmsh/define_polysurfaces.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmsh/get_mesh.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmsh/parse_component.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmsh/parse_gds.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmsh/tests/test_custom_names.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmsh/tests/test_meshing_2D.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmsh/tests/test_meshing_3D.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmsh/uz_xsection_mesh.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmsh/xy_xsection_mesh.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/dataprep/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/dataprep/regions.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/drc/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/drc/check_duplicated_cells.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/drc/check_exclusion.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/drc/check_inclusion.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/drc/check_space.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/drc/check_width.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/drc/count_drc.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/drc/samples/drc_errors.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/drc/write_drc.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/get_density.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/get_netlist.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/netlist_graph.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/netlist_spice_reader.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/plot_nets.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/tests/test_dataprep_regions.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/tests/test_density.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/tests/test_drc_exclusion.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/tests/test_drc_inclusion.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/tests/test_drc_space.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/tests/test_drc_width.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/tests/test_global_density.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/tests/test_netlist_spice_reader.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/klayout/tests/test_plot_nets.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/lumerical/README.md +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/lumerical/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/lumerical/interconnect.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/lumerical/mapping_ubcpdk.yml +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/lumerical/read.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/lumerical/settings.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/lumerical/tests/test_lumerical_read_sparameters.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/lumerical/tests/test_netlist.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/lumerical/tests/test_netlist_get_routes.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/lumerical/write_sparameters_lumerical.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/lumerical/write_sparameters_lumerical_components.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/materials/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/materials/inorganic.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/materials/optical/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/materials/optical/optical_mat.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/materials/optical/refractive_index_info.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/materials/semiconductor/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/materials/semiconductor/semiconductor_mat.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/meow/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/meow/meow_eme.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/meow/test_meow_simulation.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/coupler.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/find_coupling_vs_gap.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/find_mode_dispersion.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/find_modes.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/find_modes_cross_section.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/find_neff_ng_dw_dh.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/find_neff_vs_width.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/get_mode_solver_coupler.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/get_mode_solver_cross_section.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/get_mode_solver_rib.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/modes/neff_vs_width_nitride.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/modes/neff_vs_width_rib.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/modes/neff_vs_width_strip.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/neff_convergence_test.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/neff_vs_width.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/overlap.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/tests/test_dw_dh/test_dw_dh.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/tests/test_dw_dh/test_dw_dh.obtained.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/tests/test_dw_dh/test_dw_dh_dispersion.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/tests/test_dw_dh.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/tests/test_find_modes.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/tests/test_find_modes_dispersion.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/tests/test_neff_vs_width/test_neff_vs_width.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/tests/test_neff_vs_width/test_neff_vs_width.obtained.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/tests/test_neff_vs_width.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/types.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/modes/waveguide.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/palace/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/palace/driven.json +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/palace/electrostatic.json +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/palace/get_capacitance.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/palace/get_scattering.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/palace/tests/test_palace.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/path_length_analysis/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/path_length_analysis/path_length_analysis.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/path_length_analysis/test_pathlength_extraction.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/path_length_analysis/test_pathlength_extraction_from_gds.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/path_length_analysis/test_pathlength_extraction_utils.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/path_length_analysis/utils.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/photonic_circuit_models/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/photonic_circuit_models/coupler.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/photonic_circuit_models/fsr.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/photonic_circuit_models/heater.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/photonic_circuit_models/mzi.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/photonic_circuit_models/ring.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/process/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/process/diffusion.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/process/implant_tables.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/process/pysrim.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/process/silicon.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/process/skew/antimony_si_skew.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/process/skew/arsenic_si_skew.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/process/skew/boron_si_skew.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/process/skew/phosphorus_si_skew.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sax/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sax/interpolators.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sax/mlp.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sax/models.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sax/parameter.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sax/read.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sax/strategy.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sax/tests/test_mzi.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sax/tests/test_mzi_lattice/test_mzi_lattice.obtained.yml +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sax/tests/test_mzi_lattice/test_mzi_lattice.yml +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sax/tests/test_mzi_lattice.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sax/tests/test_parameters.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sentaurus/mask_sde.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sentaurus/mask_sprocess.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sentaurus/sde.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sentaurus/sdevice.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sentaurus/sprocess.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/sentaurus/svisual.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/spice/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/spice/spice_to_yaml.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/spice/tests/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/spice/tests/test_interconnect.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/component.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/get_results.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/get_simulation_grating_coupler.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/materials.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/modes.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/tests/test_component_modeler.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/tests/test_materials.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/tests/test_modes/test_sweep_width.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/tests/test_modes/test_sweep_width.obtained.csv +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/tests/test_modes_coupler.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/tests/test_modes_waveguide.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/tests/test_plot_simulation_grating_coupler.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/tests/test_write_sparameters.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/tests/tests_sparameters/sim_ref.yaml +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/tests/tests_sparameters/test_write_sparameters.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/tests/tests_sparameters/test_write_sparameters_grating_coupler.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/types.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/util.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/tidy3d/write_sparameters_grating_coupler.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/typings.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/vlsir/__init__.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/vlsir/export_netlist.py +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/vlsir/tests/resources/pads_correct.cir +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/vlsir/tests/resources/pads_correct.scs +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/vlsir/tests/resources/pads_correct.sp +0 -0
- {gplugins-1.4.0 → gplugins-1.4.2}/gplugins/vlsir/tests/test_vlsir.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gplugins
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.2
|
|
4
4
|
Summary: gdsfactory plugins
|
|
5
5
|
Keywords: python
|
|
6
6
|
Author-email: gdsfactory <contact@gdsfactory.com>
|
|
@@ -15,7 +15,7 @@ Requires-Dist: gdsfactory>=9.3.5
|
|
|
15
15
|
Requires-Dist: pint
|
|
16
16
|
Requires-Dist: tqdm
|
|
17
17
|
Requires-Dist: numpy==2.2
|
|
18
|
-
Requires-Dist: xarray==2025.1
|
|
18
|
+
Requires-Dist: xarray==2025.7.1
|
|
19
19
|
Requires-Dist: hypothesis ; extra == "dev"
|
|
20
20
|
Requires-Dist: numba ; extra == "dev"
|
|
21
21
|
Requires-Dist: pre-commit ; extra == "dev"
|
|
@@ -38,7 +38,7 @@ Requires-Dist: jinja2 ; extra == "gfviz"
|
|
|
38
38
|
Requires-Dist: fastapi ; extra == "gfviz"
|
|
39
39
|
Requires-Dist: shapely ; extra == "gfviz"
|
|
40
40
|
Requires-Dist: natsort ; extra == "gfviz"
|
|
41
|
-
Requires-Dist: gmsh==4.
|
|
41
|
+
Requires-Dist: gmsh==4.14.0 ; extra == "gmsh"
|
|
42
42
|
Requires-Dist: h5py ; extra == "gmsh"
|
|
43
43
|
Requires-Dist: mapbox_earcut ; extra == "gmsh"
|
|
44
44
|
Requires-Dist: meshio ; extra == "gmsh"
|
|
@@ -86,7 +86,7 @@ Provides-Extra: schematic
|
|
|
86
86
|
Provides-Extra: tidy3d
|
|
87
87
|
Provides-Extra: vlsir
|
|
88
88
|
|
|
89
|
-
# gplugins 1.4.
|
|
89
|
+
# gplugins 1.4.2
|
|
90
90
|
|
|
91
91
|
[](https://gdsfactory.github.io/gplugins/)
|
|
92
92
|
[](https://pypi.org/project/gplugins/)
|
|
@@ -29,11 +29,10 @@ def define_edgeport(
|
|
|
29
29
|
port: gf.Port,
|
|
30
30
|
port_dict: dict[str, Any],
|
|
31
31
|
model: Model,
|
|
32
|
-
layerlevel: LayerLevel,
|
|
33
32
|
):
|
|
34
33
|
"""Creates an unmeshed box at the port location to tag the edge port surfaces in the final mesh."""
|
|
35
|
-
zmin = port_dict.get("zmin")
|
|
36
|
-
zmax = port_dict.get("zmax")
|
|
34
|
+
zmin = port_dict.get("zmin")
|
|
35
|
+
zmax = port_dict.get("zmax")
|
|
37
36
|
|
|
38
37
|
dz = zmax - zmin
|
|
39
38
|
x, y = port.center
|
|
@@ -288,18 +287,15 @@ def xyz_mesh(
|
|
|
288
287
|
# Add edgeports
|
|
289
288
|
if edge_ports is not None:
|
|
290
289
|
ports = component.ports
|
|
291
|
-
|
|
292
|
-
for portname, edge_ports_dict in edge_ports:
|
|
290
|
+
for portname, edge_ports_dict in edge_ports.items():
|
|
293
291
|
port = ports[portname]
|
|
294
292
|
prisms_list.append(
|
|
295
293
|
define_edgeport(
|
|
296
294
|
port,
|
|
297
295
|
edge_ports_dict,
|
|
298
296
|
model,
|
|
299
|
-
layerlevel=layer_stack.layers[port_layernames[port.layer][0]],
|
|
300
297
|
)
|
|
301
298
|
)
|
|
302
|
-
|
|
303
299
|
import copy
|
|
304
300
|
|
|
305
301
|
resolutions = copy.deepcopy(resolutions)
|
{gplugins-1.4.0 → gplugins-1.4.2}/gplugins/path_length_analysis/path_length_analysis_from_gds.py
RENAMED
|
@@ -15,6 +15,7 @@ from gplugins.path_length_analysis.utils import (
|
|
|
15
15
|
filter_points_by_std_distance,
|
|
16
16
|
resample_polygon_points_w_interpolator,
|
|
17
17
|
sort_points_nearest_neighbor,
|
|
18
|
+
smoothed_savgol_filter,
|
|
18
19
|
)
|
|
19
20
|
|
|
20
21
|
fix_values = [0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5, 6, -6, 7, -7, 8, -8]
|
|
@@ -80,6 +81,8 @@ def centerline_voronoi_2_ports(
|
|
|
80
81
|
"port_list must be a list of 2 ports, got: "
|
|
81
82
|
f"{port_list} with length {len(port_list)}"
|
|
82
83
|
)
|
|
84
|
+
port_list = [p.to_itype() for p in port_list]
|
|
85
|
+
|
|
83
86
|
# Simplify points that are too close to each other
|
|
84
87
|
r = gf.kdb.Region(poly)
|
|
85
88
|
r = r.smoothed(0.05, True)
|
|
@@ -96,6 +99,7 @@ def centerline_voronoi_2_ports(
|
|
|
96
99
|
shapely_poly_original = sh.Polygon(points)
|
|
97
100
|
|
|
98
101
|
# Infer port widths to be 2x the distance between the port center and the nearest point on the polygon
|
|
102
|
+
# This is done such that port_positions is supported
|
|
99
103
|
port_widths = []
|
|
100
104
|
for port in port_list:
|
|
101
105
|
# Compute distances from each point to port center
|
|
@@ -655,7 +659,7 @@ def extract_paths(
|
|
|
655
659
|
centerline.points[:, 0],
|
|
656
660
|
centerline.points[:, 1],
|
|
657
661
|
"x--",
|
|
658
|
-
label=ports,
|
|
662
|
+
label=f"Ports {ports}",
|
|
659
663
|
)
|
|
660
664
|
plt.legend()
|
|
661
665
|
plt.title("Direct paths")
|
|
@@ -675,13 +679,14 @@ def extract_paths(
|
|
|
675
679
|
centerline.points[:, 0],
|
|
676
680
|
centerline.points[:, 1],
|
|
677
681
|
"--",
|
|
678
|
-
label=ports,
|
|
682
|
+
label=f"Ports {ports}",
|
|
679
683
|
)
|
|
680
684
|
plt.legend()
|
|
681
685
|
plt.title("Evanescent paths")
|
|
682
686
|
plt.xlabel("X-coordinate")
|
|
683
687
|
plt.ylabel("Y-coordinate")
|
|
684
688
|
plt.grid(True)
|
|
689
|
+
plt.gca().set_aspect("equal", adjustable="box") # Force equilateral axes
|
|
685
690
|
|
|
686
691
|
plt.show()
|
|
687
692
|
|
|
@@ -708,7 +713,7 @@ def get_min_radius_and_length(path: gf.Path) -> tuple[float, float]:
|
|
|
708
713
|
return min_radius, path.length()
|
|
709
714
|
|
|
710
715
|
|
|
711
|
-
def plot_curvature(path: gf.Path, rmax: int | float = 200) ->
|
|
716
|
+
def plot_curvature(path: gf.Path, rmax: int | float = 200) -> plt.Figure:
|
|
712
717
|
"""Plot the curvature of a path.
|
|
713
718
|
|
|
714
719
|
Args:
|
|
@@ -721,11 +726,14 @@ def plot_curvature(path: gf.Path, rmax: int | float = 200) -> None:
|
|
|
721
726
|
curvature2 = K[valid_indices]
|
|
722
727
|
s2 = s[valid_indices]
|
|
723
728
|
|
|
729
|
+
smoothed_curvature = smoothed_savgol_filter(curvature2)
|
|
730
|
+
|
|
724
731
|
plt.figure(figsize=(10, 5))
|
|
725
|
-
plt.plot(s2, curvature2, ".-")
|
|
726
|
-
plt.
|
|
732
|
+
plt.plot(s2, curvature2, ".-", label="Raw")
|
|
733
|
+
plt.plot(s2, smoothed_curvature, ".-", label="Savitzky–Golay filtered")
|
|
734
|
+
plt.xlabel("Position along arc length (units)")
|
|
727
735
|
plt.ylabel("Curvature (units⁻¹)")
|
|
728
|
-
plt.
|
|
736
|
+
plt.legend()
|
|
729
737
|
return plt
|
|
730
738
|
|
|
731
739
|
|
|
@@ -744,7 +752,7 @@ def plot_radius(path: gf.Path, rmax: float = 200) -> plt.Figure:
|
|
|
744
752
|
|
|
745
753
|
fig, ax = plt.subplots(1, 1, figsize=(15, 5))
|
|
746
754
|
ax.plot(s2, radius2, ".-")
|
|
747
|
-
ax.set_xlabel("Position along
|
|
755
|
+
ax.set_xlabel("Position along arc length (units)")
|
|
748
756
|
ax.set_ylabel("Radius of curvature (units)")
|
|
749
757
|
ax.grid(True)
|
|
750
758
|
return fig
|
|
@@ -14,11 +14,13 @@ def plot_model(
|
|
|
14
14
|
port1: str = "o1",
|
|
15
15
|
ports2: tuple[str, ...] | None = None,
|
|
16
16
|
logscale: bool = True,
|
|
17
|
+
min_db_range: float = 0.5,
|
|
17
18
|
fig=None,
|
|
18
19
|
wavelength_start: float = 1.5,
|
|
19
20
|
wavelength_stop: float = 1.6,
|
|
20
21
|
wavelength_points: int = 2000,
|
|
21
22
|
phase: bool = False,
|
|
23
|
+
title: str | None = None,
|
|
22
24
|
) -> None:
|
|
23
25
|
"""Plot Model Sparameters Magnitude.
|
|
24
26
|
|
|
@@ -27,11 +29,13 @@ def plot_model(
|
|
|
27
29
|
port1: input port name.
|
|
28
30
|
ports2: list of ports.
|
|
29
31
|
logscale: plots in dB logarithmic scale.
|
|
32
|
+
min_db_range: minimum dB range. Set to 0 to disable.
|
|
30
33
|
fig: matplotlib figure.
|
|
31
|
-
wavelength_start: wavelength min (
|
|
32
|
-
wavelength_stop: wavelength max (
|
|
34
|
+
wavelength_start: wavelength min (µm).
|
|
35
|
+
wavelength_stop: wavelength max (µm).
|
|
33
36
|
wavelength_points: number of wavelength steps.
|
|
34
37
|
phase: plot phase instead of magnitude.
|
|
38
|
+
title: plot title.
|
|
35
39
|
|
|
36
40
|
.. plot::
|
|
37
41
|
:include-source:
|
|
@@ -66,9 +70,25 @@ def plot_model(
|
|
|
66
70
|
y = np.abs(sdict[(port1, port2)])
|
|
67
71
|
y = 20 * np.log10(y) if logscale else y
|
|
68
72
|
ylabel = "|S (dB)|" if logscale else "|S|"
|
|
69
|
-
ax.plot(wavelengths, y, label=port2)
|
|
70
|
-
|
|
71
|
-
|
|
73
|
+
ax.plot(wavelengths, y, label=f"{port1}→{port2}")
|
|
74
|
+
|
|
75
|
+
if logscale:
|
|
76
|
+
current_ylim = ax.get_ylim()
|
|
77
|
+
if current_ylim[1] - current_ylim[0] < min_db_range:
|
|
78
|
+
ax.set_ylim(y.mean() - min_db_range / 2, y.mean() + min_db_range / 2)
|
|
79
|
+
|
|
80
|
+
if title:
|
|
81
|
+
ax.set_title(title)
|
|
82
|
+
else:
|
|
83
|
+
# Handle functools.partial objects
|
|
84
|
+
if hasattr(model, "func"):
|
|
85
|
+
# It's a partial object
|
|
86
|
+
model_name = getattr(model.func, "__name__", "model")
|
|
87
|
+
else:
|
|
88
|
+
# Regular function
|
|
89
|
+
model_name = getattr(model, "__name__", "model")
|
|
90
|
+
ax.set_title(f"{model_name} S-Parameters")
|
|
91
|
+
ax.set_xlabel("wavelength (µm)")
|
|
72
92
|
ax.set_ylabel(ylabel)
|
|
73
93
|
plt.legend()
|
|
74
94
|
return ax
|
|
@@ -17,7 +17,7 @@ dependencies = [
|
|
|
17
17
|
"pint",
|
|
18
18
|
"tqdm",
|
|
19
19
|
"numpy==2.2", # numpy 2.2 is required for numba
|
|
20
|
-
"xarray==2025.1
|
|
20
|
+
"xarray==2025.7.1"
|
|
21
21
|
]
|
|
22
22
|
description = "gdsfactory plugins"
|
|
23
23
|
keywords = ["python"]
|
|
@@ -25,7 +25,7 @@ license = {file = "LICENSE"}
|
|
|
25
25
|
name = "gplugins"
|
|
26
26
|
readme = "README.md"
|
|
27
27
|
requires-python = ">=3.11"
|
|
28
|
-
version = "1.4.
|
|
28
|
+
version = "1.4.2"
|
|
29
29
|
|
|
30
30
|
[project.optional-dependencies]
|
|
31
31
|
dev = [
|
|
@@ -49,7 +49,7 @@ docs = [
|
|
|
49
49
|
femwell = ["femwell~=0.1.11", "meshwell~=1.0.7"]
|
|
50
50
|
gfviz = ["jinja2", "fastapi", "shapely", "natsort"]
|
|
51
51
|
gmsh = [
|
|
52
|
-
"gmsh==4.
|
|
52
|
+
"gmsh==4.14.0",
|
|
53
53
|
"h5py",
|
|
54
54
|
"mapbox_earcut",
|
|
55
55
|
"meshio",
|
|
@@ -192,7 +192,7 @@ message_template = "Bump to {new_version}"
|
|
|
192
192
|
tag_template = "v{new_version}"
|
|
193
193
|
|
|
194
194
|
[tool.tbump.version]
|
|
195
|
-
current = "1.4.
|
|
195
|
+
current = "1.4.2"
|
|
196
196
|
regex = '''
|
|
197
197
|
(?P<major>\d+)
|
|
198
198
|
\.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_sparameterNxN/test_sparameterNxN_crossing.csv
RENAMED
|
File without changes
|
{gplugins-1.4.0 → gplugins-1.4.2}/gplugins/gmeep/test_sparameterNxN/test_sparameterNxN_straight.csv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gplugins-1.4.0 → gplugins-1.4.2}/gplugins/lumerical/tests/test_lumerical_read_sparameters.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gplugins-1.4.0 → gplugins-1.4.2}/gplugins/lumerical/write_sparameters_lumerical_components.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|