ubcpdk.components.ring_with_crossing

ubcpdk.components.ring_with_crossing#

ubcpdk.components.ring_with_crossing(*, component: ComponentSpec = <function ebeam_crossing4_2ports>, gap: float = 0.2, length_x: float = 4, length_y: float = 0, radius: float = 5.0, coupler: ComponentSpec = <function coupler_ring>, bend: ComponentSpec = <function bend_euler_sc>, straight: ComponentSpec = <function straight>, with_component: bool = True, port_name: str = 'o4', **kwargs) Component#

Single bus ring made of two couplers (ct: top, cb: bottom) connected.

with two vertical straights (wyl: left, wyr: right) (Component Under Test) in the middle to extract loss from quality factor.

Parameters:
  • component – device under test.

  • gap – in um.

  • length – in um.

  • length_y – in um.

  • radius – in um.

  • coupler – coupler function.

  • bend – bend function.

  • with_component – True adds component. False adds waveguide.

  • port_name – for component input.

  • kwargs – cross_section settings.

  • with_component – if False changes component for just a straight.

 bl-wt-br
 |      | length_y
 wl     component
 |      |
--==cb==-- gap

 length_x