ubcpdk.cells.add_fiber_array

ubcpdk.cells.add_fiber_array#

ubcpdk.cells.add_fiber_array(component='ring_single', component_name=None, gc_port_name='o1', with_loopback=False, fanout_length=0, grating_coupler='ebeam_gc_te1550', cross_section='strip', straight='straight', taper=None, mirror_grating_coupler=True, gc_rotation=90, **kwargs)[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 (str | Callable[[...], Component] | dict[str, Any] | DKCell) – to connect.

  • component_name (str | None) – for the label.

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

  • with_loopback (bool) – True, adds loopback structures.

  • fanout_length (float | None) – None # if None, automatic calculation of fanout length.

  • grating_coupler (str | Callable[[...], Component] | dict[str, Any] | DKCell) – grating coupler instance, function or list of functions.

  • cross_section (CrossSection | str | dict[str, Any] | Callable[[...], CrossSection] | SymmetricalCrossSection | DCrossSection) – spec.

  • straight (str | Callable[[...], Component] | dict[str, Any] | DKCell) – straight component.

  • taper (str | Callable[[...], Component] | dict[str, Any] | DKCell | None) – taper component.

  • kwargs – cross_section settings.

  • mirror_grating_coupler (bool)

  • gc_rotation (float)

Return type:

Component