gdsfactory.cross_section.pin

Contents

gdsfactory.cross_section.pin#

gdsfactory.cross_section.pin(width=0.5, layer='WG', layer_slab='SLAB90', layers_via_stack1=('PPP',), layers_via_stack2=('NPP',), bbox_offsets_via_stack1=(0, -0.2), bbox_offsets_via_stack2=(0, -0.2), via_stack_width=9.0, via_stack_gap=0.55, slab_gap=-0.2, layer_via=None, via_width=1, via_offsets=None, sections=None, **kwargs)[source]#

Rib PIN doped cross_section.

Parameters:
  • width (float) – ridge width.

  • layer (tuple[int, int] | str | int | LayerEnum) – ridge layer.

  • layer_slab (tuple[int, int] | str | int | LayerEnum) – slab layer.

  • layers_via_stack1 (Sequence[tuple[int, int] | str | int | LayerEnum]) – list of bot layer.

  • layers_via_stack2 (Sequence[tuple[int, int] | str | int | LayerEnum]) – list of top layer.

  • bbox_offsets_via_stack1 (tuple[float, ...]) – for bot.

  • bbox_offsets_via_stack2 (tuple[float, ...]) – for top.

  • via_stack_width (float) – in um.

  • via_stack_gap (float) – offset from via_stack to ridge edge.

  • slab_gap (float) – extra slab gap (negative: via_stack goes beyond slab).

  • layer_via (tuple[int, int] | str | int | LayerEnum | None) – for via.

  • via_width (float) – in um.

  • via_offsets (tuple[float, ...] | None) – in um.

  • sections (tuple[Section, ...] | None) – cross_section sections.

  • kwargs (Any) – cross_section settings.

Return type:

CrossSection

https://doi.org/10.1364/OE.26.029983

                               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()

(Source code, png, hires.png, pdf)

../_images/gdsfactory-cross_section-pin-1.png