ubcpdk.cells.ring_double

Contents

ubcpdk.cells.ring_double#

ubcpdk.cells.ring_double(gap=0.2, gap_top=None, gap_bot=None, radius=10.0, length_x=0.01, length_y=0.01, cross_section='strip', length_extension=10.0)[source]#

Returns a double bus ring.

two couplers (ct: top, cb: bottom) connected with two vertical straights (sl: left, sr: right)

Parameters:
  • gap (float) – gap between for coupler.

  • gap_top (float | None) – gap for the top coupler. Defaults to gap.

  • gap_bot (float | None) – gap for the bottom coupler. Defaults to gap.

  • radius (float) – for the bend and coupler.

  • length_x (float) – ring coupler length.

  • length_y (float) – vertical straight length.

  • bend – 90 degrees bend spec.

  • straight – straight spec.

  • coupler_ring – ring coupler spec.

  • coupler_ring_top – top ring coupler spec. Defaults to coupler_ring.

  • cross_section (CrossSection | str | dict[str, Any] | Callable[[...], CrossSection] | SymmetricalCrossSection | DCrossSection) – cross_section spec.

  • length_extension (float) – straight length extension at the end of the coupler bottom ports.

Return type:

Component