ubcpdk.components.add_fiber_array

ubcpdk.components.add_fiber_array#

ubcpdk.components.add_fiber_array(component: str | collections.abc.Callable[[...], gdsfactory.component.Component] | gdsfactory.component.Component | dict[str, typing.Any] = <function straight>, component_name: ~typing.Optional[str] = None, gc_port_name: str = 'o1', get_input_labels_function: ~collections.abc.Callable = <function get_input_labels>, with_loopback: bool = False, optical_routing_type: int = 0, fanout_length: float = 0.0, grating_coupler: str | collections.abc.Callable[[...], gdsfactory.component.Component] | gdsfactory.component.Component | dict[str, typing.Any] = <function gc_te1550>, cross_section: collections.abc.Callable[[...], gdsfactory.cross_section.CrossSection] | gdsfactory.cross_section.CrossSection | dict[str, typing.Any] | str | gdsfactory.cross_section.Transition = 'xs_sc', layer_label: tuple[int, int] | str = (10, 0), straight: str | collections.abc.Callable[[...], gdsfactory.component.Component] | gdsfactory.component.Component | dict[str, typing.Any] = <function straight>, **kwargs) Component[source]#

Returns component with grating couplers and labels on each port.

Routes all component ports south. Can add align_ports loopback reference structure on the edges.

Parameters:
  • component – to connect.

  • component_name – for the label.

  • gc_port_name – grating coupler input port name ‘o1’.

  • get_input_labels_function – function to get input labels for grating couplers.

  • with_loopback – True, adds loopback structures.

  • optical_routing_type – None: autoselection, 0: no extension.

  • fanout_length – None # if None, automatic calculation of fanout length.

  • grating_coupler – grating coupler instance, function or list of functions.

  • cross_section – spec.

  • layer_label – for label.

  • straight – straight component.