gdsfactory.routing.add_fiber_array.add_fiber_array#
- gdsfactory.routing.add_fiber_array.add_fiber_array(component: ComponentSpec = <function straight>, grating_coupler: ComponentSpecOrList = functools.partial(<function grating_coupler_elliptical_trenches>, polarization='te', taper_angle=35), gc_port_name: str = 'o1', gc_port_name_fiber: str = 'o2', gc_port_labels: tuple[str, ...] | None = None, io_rotation: int | None = None, component_name: str | None = None, select_ports: Callable = functools.partial(<function select_ports>, port_type='optical'), cross_section: CrossSectionSpec = 'xs_sc', get_input_labels_function: Callable | None = functools.partial(<function get_input_labels>, get_input_label_text_function=<function get_input_label_text_dash>), layer_label: LayerSpec | None = None, dev_id: str | None = None, text: ComponentSpec | None = None, id_placement: Literal[AnchorSubset] = 'center', id_placement_offset: Floats = (0, 0), **kwargs) 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.
gc_port_name_fiber – grating coupler output port name.
gc_port_labels – grating coupler list of labels.
io_rotation – fiber coupler rotation in degrees. Defaults to None.
component_name – optional for the label.
select_ports – function to select ports.
cross_section – cross_section function.
get_input_labels_function – function to get input labels. None skips labels.
layer_label – optional layer for grating coupler label.
dev_id – device if if we want to add a visible label for the device.
text – optional componentSpec to generate the text for the dev_id
id_placement – placement of the id. “c” = center (in between the center grating couplers) “r” = right of the right-most gc “l” = left of the left-most gc “s” = center and below the gc in y
id_placement_offset – offset for the id placement.
- Keyword Arguments:
bend – bend spec.
straight – straight spec.
taper – taper spec.
get_input_label_text_loopback_function – function to get input label test.
get_input_label_text_function – for labels.
fanout_length – if None, automatic calculation of fanout length.
max_y0_optical – in um.
with_loopback – True, adds loopback structures.
straight_separation – from edge to edge.
list_port_labels – None, adds TM labels to port indices in this list.
connected_port_list_ids – names of ports only for type 0 optical routing.
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 – get_route.
optical_routing_type – None: auto, 0: no extension, 1: standard, 2: check.
input_port_indexes – to connect.
fiber_spacing – in um.
gc_rotation – fiber coupler rotation in degrees. Defaults to -90 for south IO.
import gdsfactory as gf c = gf.components.crossing() cc = gf.routing.add_fiber_array( component=c, optical_routing_type=2, grating_coupler=gf.components.grating_coupler_elliptical_te, with_loopback=False ) cc.plot()
(
Source code
,png
,hires.png
,pdf
)