gdsfactory.routing.add_fiber_array.add_fiber_array#
- gdsfactory.routing.add_fiber_array.add_fiber_array(component: ComponentSpec = 'straight', grating_coupler: str | ~collections.abc.Callable[[...], ~gdsfactory.component.Component] | dict[str, ~typing.Any] | ~kfactory.kcell.KCell | list[str | ~collections.abc.Callable[[...], ~gdsfactory.component.Component] | dict[str, ~typing.Any] | ~kfactory.kcell.KCell] = 'grating_coupler_te', gc_port_name: str = 'o1', select_ports: ~collections.abc.Callable[[...], ~collections.abc.Sequence[~kfactory.kcell.Port]] = functools.partial(<function select_ports>, port_type='optical'), cross_section: CrossSectionSpec = 'strip', start_straight_length: float = 0, end_straight_length: float = 0, **kwargs: ~typing.Any) Component [source]#
Returns component with south routes and grating_couplers.
You can also use pads or other terminations instead of grating couplers.
- Parameters:
component – component spec to connect to grating couplers.
grating_coupler – spec for route terminations.
gc_port_name – grating coupler input port name.
select_ports – function to select ports.
cross_section – cross_section function.
kwargs – additional arguments.
- 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.
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
)