Skip to content

Conversation

@ejonkerUBC
Copy link

waveguide_gui.ui

  • Added ‘bend_type’ field which can either be specified as ‘bezier’ or ‘euler’
    o ‘bezier’ is the default/backwards compatible parameter for old ‘WAVEGUIDES.xml’ files
    o ‘euler’ is a new option that will create euler bends
  • Changed ‘bezier’ parameter to ‘bend_parameter’ which can be either the bezier parameter or the p-parameter for euler bends

image

siepic_tools > core.py > WaveguideGUI( ) class
config_changed( )

  • Added capability to read ‘bend_type’ from waveguide GUI
    o If ‘bend_type’ is not specified, the type is set to ‘bezier’
    o If ‘adiabatic’ is false, set ‘bend_parameter’ to an empty string

get_parameters( )

  • Added ‘bend_type’ to ‘params’ dictionary
  • Changed ‘bezier’ to ‘bend_parameter’ in ‘params’ dictionary

utils > init.py
load_waveguides_by_tech( )

  • If ‘bend_parameter’ is not a given field, but ‘bezier’ is, set ‘bend_parameter’ = ‘bezier’ (for reverse compatability)
  • if bend_parameter is specified, also set ‘bezier’ to ‘bend_parameter’ to avoid unforeseen compatibility issues with anything else that looks for ‘bezier’

euler_bend( )

  • Created euler bend function that takes p parameter and r as inputs and creates an euler bend with effective radius r. Returns a set of points that trace out the curve like the ‘arc_bezier’ function

layout.py
layout_waveguide3( )

  • If no ‘bend_parameter’ is specified, adiabatic is set to false and bend_parameter is set to an empty sting
  • Added bend_parameter and bend_type to inputs of layout_waveguide2() function call

layout_waveguide2()

  • Added ‘bend_parameter’ and ‘bend_type’ to inputs
  • If adiabatic and euler is specified, create euler bend
  • If adiabatic and bezier is specified, create Bezier bend

image

@codecov-commenter
Copy link

Codecov Report

Attention: Patch coverage is 25.60976% with 61 lines in your changes missing coverage. Please review.

Project coverage is 23.43%. Comparing base (b6c8799) to head (a1422e8).

Files with missing lines Patch % Lines
klayout_dot_config/python/SiEPIC/utils/__init__.py 24.19% 47 Missing ⚠️
klayout_dot_config/python/SiEPIC/core.py 0.00% 10 Missing ⚠️
klayout_dot_config/python/SiEPIC/utils/layout.py 60.00% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #241      +/-   ##
==========================================
- Coverage   23.48%   23.43%   -0.05%     
==========================================
  Files          47       47              
  Lines       11517    11579      +62     
==========================================
+ Hits         2705     2714       +9     
- Misses       8812     8865      +53     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@lukasc-ubc
Copy link
Member

lukasc-ubc commented Apr 15, 2025

  • siepic_tools > core.py > WaveguideGUI( ) class: we should make the "Waveguide Specification" fields read-only, since that's what they are...
  • Could you make the Bend Type a Dropdown, rather than raw text? (but if it is read-only, maybe then text is fine?)
  • Make it a separate row
  • I suggest adding "circular" as an option (regular 90º, non-adiabatic)
  • maybe capitalization? "Bezier" "Euler" since these are named after people
  • Remove the check mark for "adiabatic" since Bend Type will take care of that.
  • it would be nice to improve the GUI window, to make it wider so that the full text is visible

@lukasc-ubc
Copy link
Member

@ejonkerUBC

@ejonkerUBC
Copy link
Author

Yep Ill work on the changes. I just haven't got around to it yet

@ejonkerUBC
Copy link
Author

ejonkerUBC commented May 27, 2025

Screenshot 2025-05-27 152719

Finally got around to making the changes,

  • GUI is updated per requests
    • widened window
    • removed 'adiabatic' check box
    • made specs read only
    • changed um to μm
    • separated param and bend rows
  • capitalized Bezier and Euler

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants