Skip to article frontmatterSkip to article content

gdsfactory.cross_section.pin

gdsfactory.cross_section.pin(width: float = 0.5, layer: tuple[int, int] | str | int | LayerEnum = 'WG', layer_slab: tuple[int, int] | str | int | LayerEnum = 'SLAB90', layers_via_stack1: Sequence[tuple[int, int] | str | int | LayerEnum] = ('PPP',), layers_via_stack2: Sequence[tuple[int, int] | str | int | LayerEnum] = ('NPP',), bbox_offsets_via_stack1: tuple[float, ...] = (0, -0.2), bbox_offsets_via_stack2: tuple[float, ...] = (0, -0.2), via_stack_width: float = 9.0, via_stack_gap: float = 0.55, slab_gap: float = -0.2, layer_via: tuple[int, int] | str | int | LayerEnum | None = None, via_width: float = 1, via_offsets: tuple[float, ...] | None = None, sections: tuple[Section, ...] | None = None, **kwargs: Any)CrossSection

Rib PIN doped cross_section.

Parameters
  • widthridge width.

  • layerridge layer.

  • layer_slabslab layer.

  • layers_via_stack1list of bot layer.

  • layers_via_stack2list of top layer.

  • bbox_offsets_via_stack1for bot.

  • bbox_offsets_via_stack2for top.

  • via_stack_widthin um.

  • via_stack_gapoffset from via_stack to ridge edge.

  • slab_gapextra slab gap (negative: via_stack goes beyond slab).

  • layer_viafor via.

  • via_widthin um.

  • via_offsetsin um.

  • sectionscross_section sections.

  • kwargscross_section settings.

Fatemi et al. (2018)

                               layer
                         |<----width--->|
                          _______________ via_stack_gap           slab_gap
                         |              |<----------->|             <-->
 ___ ____________________|              |__________________________|___
|   |         |                                       |            |   |
|   |    P++  |         undoped silicon               |     N++    |   |
|___|_________|_______________________________________|____________|___|
                                                       <----------->
                                                       via_stack_width
<---------------------------------------------------------------------->
                            slab_width
import gdsfactory as gf

xs = gf.cross_section.pin(width=0.5, via_stack_gap=1, via_stack_width=1)
p = gf.path.arc(radius=10, angle=45)
c = p.extrude(xs)
c.plot()
References
  1. Fatemi, R., Abiri, B., Khachaturian, A., & Hajimiri, A. (2018). High sensitivity active flat optics optical phased array receiver with a two-dimensional aperture. Optics Express, 26(23), 29983. 10.1364/oe.26.029983