ubcpdk.cells.ring_single

Contents

ubcpdk.cells.ring_single#

ubcpdk.cells.ring_single(gap=0.2, radius=10.0, length_x=4.0, length_y=0.6, cross_section='strip', length_extension=10.0)[source]#

Returns a single ring.

ring coupler (cb: bottom) connects to two vertical straights (sl: left, sr: right), two bends (bl, br) and horizontal straight (wg: top)

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

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

  • length_x (float) – ring coupler length.

  • length_y (float) – vertical straight length.

  • coupler_ring – ring coupler spec.

  • bend – 90 degrees bend spec.

  • straight – straight spec.

  • coupler_ring – ring coupler spec.

  • 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

          xxxxxxxxxxxxx
      xxxxx           xxxx
    xxx                   xxx
  xxx                       xxx
 xx                           xxx
 x                             xxx
xx                              xx▲
xx                              xx│length_y
xx                              xx▼
xx                             xx
 xx          length_x          x
  xx     ◄───────────────►    x
   xx                       xxx
     xx                   xxx
      xxx──────▲─────────xxx
               │gap
       o1──────▼─────────o2