ubcpdk.components.taper

Contents

ubcpdk.components.taper#

ubcpdk.components.taper(length: float = 10.0, width1: float = 0.5, width2: float | None = None, port: Port | None = None, with_two_ports: bool = True, cross_section: CrossSectionSpec = 'strip', port_names: tuple[str, str] = ('o1', 'o2'), port_types: tuple[str, str] = ('optical', 'optical'), with_bbox: bool = True, **kwargs) Component#

Linear taper, which tapers only the main cross section section.

Parameters:
  • length – taper length.

  • width1 – width of the west/left port.

  • width2 – width of the east/right port. Defaults to width1.

  • port – can taper from a port instead of defining width1.

  • with_two_ports – includes a second port. False for terminator and edge coupler fiber interface.

  • cross_section – specification (CrossSection, string, CrossSectionFactory dict).

  • port_names – input and output port names. Second name only used if with_two_ports.

  • port_types – input and output port types. Second type only used if with_two_ports.

  • with_bbox – box in bbox_layers and bbox_offsets to avoid DRC sharp edges.

  • kwargs – cross_section settings.