Source code for gdsfactory.components.fiber_array

from __future__ import annotations

import gdsfactory as gf
from gdsfactory.component import Component
from gdsfactory.components.fiber import circle
from gdsfactory.typings import LayerSpec


[docs] @gf.cell def fiber_array( n: int = 8, pitch: float = 127.0, core_diameter: float = 10, cladding_diameter: float = 125, layer_core: LayerSpec = "WG", layer_cladding: LayerSpec = "WGCLAD", ) -> Component: """Returns a fiber array footprint for estimating its size when testing. Args: n: number of fibers. pitch: spacing. core_diameter: 10um. cladding_diameter: in um. layer_core: layer spec for fiber core. layer_cladding: layer spec for fiber cladding. .. code:: pitch <-> _________ | | lid | o o o o | | | base |_________| length """ c = Component() layer_core = gf.get_layer(layer_core) for i in range(n): core = c.add_ref(circle(radius=core_diameter / 2, layer=layer_core)) cladding = c.add_ref(circle(radius=cladding_diameter / 2, layer=layer_cladding)) core.movex(i * pitch) cladding.movex(i * pitch) c.add_port( name=f"F{i}", width=core_diameter, orientation=0, layer=layer_core, center=(0, 0), ) return c
if __name__ == "__main__": c = fiber_array() c.show(show_ports=True)