ubcpdk.cells.spiral_racetrack#
- ubcpdk.cells.spiral_racetrack(min_radius=None, straight_length=20.0, spacings=(2, 2, 3, 3, 2, 2), straight='straight', bend='bend_euler', bend_s='bend_s', cross_section='strip', cross_section_s=None, extra_90_deg_bend=False, allow_min_radius_violation=False)[source]#
Returns Racetrack-Spiral.
- Parameters:
min_radius (float | None) – smallest radius in um.
straight_length (float) – length of the straight segments in um.
spacings (Sequence[float]) – space between the center of neighboring waveguides in um.
straight (str | Callable[[...], Component] | dict[str, Any] | DKCell) – factory to generate the straight segments.
bend (str | Callable[[...], Component] | dict[str, Any] | DKCell) – factory to generate the bend segments.
bend_s (str | Callable[[...], Component] | dict[str, Any] | DKCell) – factory to generate the s-bend segments.
cross_section (CrossSection | str | dict[str, Any] | Callable[[...], CrossSection] | SymmetricalCrossSection | DCrossSection) – cross-section of the waveguides.
cross_section_s (CrossSection | str | dict[str, Any] | Callable[[...], CrossSection] | SymmetricalCrossSection | DCrossSection | None) – cross-section of the s bend waveguide (optional).
extra_90_deg_bend (bool) – if True, we add an additional straight + 90 degree bent at the output, so the output port is looking down.
allow_min_radius_violation (bool) – if True, will allow the s-bend to have a smaller radius than the minimum radius.
- Return type:
Component