gdsfactory.routing.add_fiber_array.add_fiber_array

gdsfactory.routing.add_fiber_array.add_fiber_array#

gdsfactory.routing.add_fiber_array.add_fiber_array(component='straight', grating_coupler='grating_coupler_te', gc_port_name='o1', select_ports=functools.partial(<function select_ports>, port_type='optical'), cross_section='strip', start_straight_length=0, end_straight_length=0, mirror_grating_coupler=False, **kwargs)[source]#

Returns component with south routes and grating_couplers.

You can also use pads or other terminations instead of grating couplers.

Parameters:
  • component (ComponentSpec) – component spec to connect to grating couplers.

  • grating_coupler (str | Callable[[...], Component] | dict[str, Any] | DKCell | list[str | Callable[[...], Component] | dict[str, Any] | DKCell]) – spec for route terminations.

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

  • select_ports (Callable[[...], Sequence[DPort]]) – function to select ports.

  • cross_section (CrossSectionSpec) – cross_section function.

  • mirror_grating_coupler (bool) – if True, mirrors the grating coupler.

  • kwargs (Any) – additional arguments.

  • start_straight_length (float)

  • end_straight_length (float)

Keyword Arguments:
  • bend – bend spec.

  • straight – straight spec.

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

  • max_y0_optical – in um.

  • with_loopback – True, adds loopback structures.

  • with_loopback_inside – True, adds loopback structures inside the component.

  • straight_separation – from edge to edge.

  • list_port_labels – None, adds TM labels to port indices in this list.

  • nb_optical_ports_lines – number of grating coupler lines.

  • force_manhattan – False

  • excluded_ports – list of port names to exclude when adding gratings.

  • grating_indices – list of grating coupler indices.

  • routing_straight – function to route.

  • routing_method – route_single.

  • gc_rotation – fiber coupler rotation in degrees. Defaults to -90.

  • input_port_indexes – to connect.

  • pitch – in um.

  • radius – optional radius of the bend. Defaults to the cross_section.

  • radius_loopback – optional radius of the loopback bend. Defaults to the cross_section.

  • start_straight_length – length of the start straight.

  • end_straight_length – length of the end straight.

Return type:

Component

import gdsfactory as gf

c = gf.components.crossing()
cc = gf.routing.add_fiber_array(
    component=c,
    grating_coupler=gf.components.grating_coupler_elliptical_te,
    with_loopback=False
)
cc.plot()

(Source code, png, hires.png, pdf)

../_images/gdsfactory-routing-add_fiber_array-add_fiber_array-1.png