Source code for gdsfactory.components.fiber

from __future__ import annotations

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


[docs] @gf.cell def fiber( core_diameter: float = 10, cladding_diameter: float = 125, layer_core: LayerSpec = "WG", layer_cladding: LayerSpec = "WGCLAD", ) -> Component: """Returns a fiber. Args: core_diameter: in um. cladding_diameter: in um. layer_core: layer spec for fiber core. layer_cladding: layer spec for fiber cladding. """ c = Component() c.add_ref(circle(radius=core_diameter / 2, layer=layer_core)) c.add_ref(circle(radius=cladding_diameter / 2, layer=layer_cladding)) layer_core = gf.get_layer(layer_core) c.add_port( name="F0", width=core_diameter, orientation=0, center=(0, 0), layer=layer_core ) return c
if __name__ == "__main__": c = fiber() c.show(show_ports=True)