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, bend='bend_euler', p=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.
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.
bend (str | Callable[[...], Component] | dict[str, Any] | DKCell | partial[Component]) – bend type for the ring. Defaults to “bend_euler”.
p (float) – percentage of the bend that is euler. 1 means full euler, 0 means full circular.
- 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