gdsfactory.cross_section.rib_heater_doped_via_stack

gdsfactory.cross_section.rib_heater_doped_via_stack#

gdsfactory.cross_section.rib_heater_doped_via_stack(width=0.5, layer='WG', heater_width=1.0, heater_gap=0.8, layer_slab='SLAB90', layer_heater='NPP', via_stack_width=2.0, via_stack_gap=0.8, layers_via_stack=('NPP', 'VIAC'), bbox_offsets_via_stack=(0, -0.2), slab_gap=0.2, slab_offset=0, with_top_heater=True, with_bot_heater=True, sections=None, **kwargs)[source]#

Returns rib cross_section with N++ doped heaters on both sides.

dimensions from https://doi.org/10.1364/OE.27.010456

Parameters:
  • width (float) – in um.

  • layer (tuple[int, int] | str | int | LayerEnum) – for main waveguide section.

  • heater_width (float) – in um.

  • heater_gap (float) – in um.

  • layer_slab (tuple[int, int] | str | int | LayerEnum) – for pedestal.

  • layer_heater (tuple[int, int] | str | int | LayerEnum) – for doped heater.

  • via_stack_width (float) – for the contact.

  • via_stack_gap (float) – in um.

  • layers_via_stack (Sequence[tuple[int, int] | str | int | LayerEnum]) – for the contact.

  • bbox_offsets_via_stack (tuple[float, ...]) – for the contact.

  • slab_gap (float) – from heater edge.

  • slab_offset (float) – over the center of the slab.

  • with_top_heater (bool) – adds top/left heater.

  • with_bot_heater (bool) – adds bottom/right heater.

  • sections (tuple[Section, ...] | None) – list of sections to add to the cross_section.

  • kwargs (Any) – cross_section settings.

Return type:

CrossSection

                            |<----width------>|
slab_gap                     __________________ via_stack_gap     via_stack width
<-->                        |                 |<------------>|<--------------->
                            |                 | heater_gap |
                            |                 |<---------->|
 ___ _______________________|                 |___________________________ ____
|   |            |              undoped Si                 |              |    |
|   |layer_heater|              intrinsic region           |layer_heater  |    |
|___|____________|_________________________________________|______________|____|
                                                            <------------>
                                                             heater_width
<------------------------------------------------------------------------------>
                                slab_width
import gdsfactory as gf

xs = gf.cross_section.rib_heater_doped_via_stack(width=0.5, heater_width=2, heater_gap=0.5, layer_heater='NPP')
p = gf.path.arc(radius=10, angle=45)
c = p.extrude(xs)
c.plot()

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

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