Skip to article frontmatterSkip to article content

gdsfactory.routing.add_fiber_array.add_fiber_array

gdsfactory.routing.add_fiber_array.add_fiber_array(component: ComponentSpec = 'straight', grating_coupler: ComponentSpecOrList = 'grating_coupler_te', gc_port_name: str = 'o1', select_ports: PortsFactory = functools.partial(<function select_ports>, port_type='optical'), cross_section: CrossSectionSpec = 'strip', start_straight_length: float = 0, end_straight_length: float = 0, **kwargs: Any)Component

Returns component with south routes and grating_couplers.

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

Parameters
  • componentcomponent spec to connect to grating couplers.

  • grating_couplerspec for route terminations.

  • gc_port_namegrating coupler input port name.

  • select_portsfunction to select ports.

  • cross_sectioncross_section function.

  • kwargsadditional arguments.

Keyword Arguments
  • bendbend spec.

  • straightstraight spec.

  • fanout_lengthif None, automatic calculation of fanout length.

  • max_y0_opticalin um.

  • with_loopbackTrue, adds loopback structures.

  • with_loopback_insideTrue, adds loopback structures inside the component.

  • straight_separationfrom edge to edge.

  • list_port_labelsNone, adds TM labels to port indices in this list.

  • nb_optical_ports_linesnumber of grating coupler lines.

  • force_manhattanFalse

  • excluded_portslist of port names to exclude when adding gratings.

  • grating_indiceslist of grating coupler indices.

  • routing_straightfunction to route.

  • routing_methodroute_single.

  • gc_rotationfiber coupler rotation in degrees. Defaults to -90.

  • input_port_indexesto connect.

  • pitchin um.

  • radiusoptional radius of the bend. Defaults to the cross_section.

  • radius_loopbackoptional radius of the loopback bend. Defaults to the cross_section.

  • start_straight_lengthlength of the start straight.

  • end_straight_lengthlength of the end straight.

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()